Date: Thu, 6 Dec 2012 11:11:13 GMT From: Kimmo Paasiala <kpaasial@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: conf/174225: A patch to add support for ipv6_addrs_IF style aliases to rc.conf(5) Message-ID: <201212061111.qB6BBDeh052459@red.freebsd.org> Resent-Message-ID: <201212061120.qB6BK0bq039380@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 174225 >Category: conf >Synopsis: A patch to add support for ipv6_addrs_IF style aliases to rc.conf(5) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Dec 06 11:20:00 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Kimmo Paasiala >Release: 9-STABLE >Organization: >Environment: FreeBSD whitezone.rdnzl.info 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0 r243704: Sat Dec 1 00:04:23 EET 2012 root@whitezone.rdnzl.info:/usr/obj/usr/src/sys/RDNZL amd64 >Description: The attached patch adds support for ipv6_addrs_IF style aliases in rc.conf(5) to match ipv4_addrs_IF aliases that are already supported. >How-To-Repeat: >Fix: Patch attached with submission follows: --- network.subr.orig 2012-12-04 16:36:54.777519679 +0200 +++ network.subr 2012-12-04 16:37:15.578523530 +0200 @@ -562,6 +562,7 @@ fi ifalias_up ${_if} inet6 && _ret=0 + ipv6_addrs_common ${_if} alias && _ret=0 ipv6_prefix_hostid_addr_common ${_if} alias && _ret=0 ipv6_accept_rtadv_up ${_if} && _ret=0 @@ -684,6 +685,31 @@ return $_ret } + +ipv6_addrs_common() +{ + local _ret _if _action _ip6prefix _ip6prefixes + local _ip6addr _prefixlen + _ret=1 + _if=$1 + _action=$2 + +# get the prefixes from ipv6_addrs_IF variable + _ip6prefixes=`get_if_var $_if ipv6_addrs_IF` + for _ip6prefix in ${_ip6prefixes}; do + _ip6addr=${_ip6prefix%%/*} + _prefixlen=${_ip6prefix##*/} + if [ "${_action}" = "-alias" ]; then + _prefixlen="" + else + _prefixlen="prefixlen $_prefixlen" + fi + eval "ifconfig ${_if} inet6 ${_action} ${_ip6addr} ${_prefixlen}" + done +} + + + # ifalias_up if af # Configure aliases for network interface $if. # It returns 0 if at least one alias was configured or >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212061111.qB6BBDeh052459>