summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2010-09-13 19:51:15 +0000
committerhrs <hrs@FreeBSD.org>2010-09-13 19:51:15 +0000
commit3319d93aea4340bab959aaa636738910a48960da (patch)
treedcff0aae5c63fdf041424dbf02aaddadf00353be /etc
parent7766ec39d496d5f467624ce957fb8cbc33958626 (diff)
downloadFreeBSD-src-3319d93aea4340bab959aaa636738910a48960da.zip
FreeBSD-src-3319d93aea4340bab959aaa636738910a48960da.tar.gz
Revert changes in r206408.
Discussed with: dougb, core.5, and core.6
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf8
-rw-r--r--etc/network.subr211
-rwxr-xr-xetc/rc.d/ip6addrctl2
-rwxr-xr-xetc/rc.d/netif9
-rwxr-xr-xetc/rc.d/netoptions7
5 files changed, 132 insertions, 105 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index 427fe2d..c875b28 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -210,8 +210,6 @@ cloned_interfaces="" # List of cloned network interfaces to create.
ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration.
#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
#ifconfig_ed0_ipx="ipx 0x00010010" # Sample IPX address family entry.
-#ifconfig_ed0_ipv6="RTADV" # Sample IPv6 entry for RA/rtsol(8)
-#ifconfig_ed0_ipv6="inet6 auto_linklocal" # To configure only link-local
#ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" # Sample IPv6 addr entry
#ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" # Sample IPv6 alias
#ifconfig_fxp0_name="net0" # Change interface name from fxp0 to net0.
@@ -446,9 +444,8 @@ ubthidhci_enable="NO" # Switch an USB BT controller present on
icmp_bmcastecho="NO" # respond to broadcast ping packets
### IPv6 options: ###
-ipv6_network_interfaces="AUTO" # List of IPv6 network interfaces
-ipv6_prefer="YES" # Use IPv6 when both IPv4 and IPv6 can be used
-ipv6_privacy="NO" # Use privacy addresses with RTADV (RFC 4193)
+ipv6_network_interfaces="none" # List of IPv6 network interfaces
+ # (or "auto" or "none").
ipv6_defaultrouter="NO" # Set to IPv6 default gateway (or NO).
#ipv6_defaultrouter="2002:c058:6301::" # Use this for 6to4 (RFC 3068)
ipv6_static_routes="" # Set to static route list (or leave empty).
@@ -507,6 +504,7 @@ ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter,
# for examples
ip6addrctl_enable="YES" # Set to YES to enable default address selection
ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages
+ipv6_prefer="NO" # Use IPv6 when both IPv4 and IPv6 can be used
##############################################################
### System console options #################################
diff --git a/etc/network.subr b/etc/network.subr
index 21c1589..e7b5945 100644
--- a/etc/network.subr
+++ b/etc/network.subr
@@ -96,32 +96,44 @@ ifconfig_up()
# inet6 specific
if afexists inet6; then
if ipv6if $1; then
- # Implicitly handles ipv6_gateway_enable
- _ipv6_opts='-ifdisabled -accept_rtadv'
-
- if ipv6_autoconfif $1; then
- _ipv6_opts='-ifdisabled accept_rtadv'
- fi
-
- ifconfig $1 inet6 $_ipv6_opts
-
- # ifconfig_IF_ipv6
- ifconfig_args=`ifconfig_getargs $1 ipv6`
-
- if [ -n "$ifconfig_args" ]; then
- ifconfig $1 $ifconfig_args
- _cfg=0
+ if checkyesno ipv6_gateway_enable; then
+ _ipv6_opts="-accept_rtadv"
fi
else
- # Remove in FreeBSD 10.x
- # Explicit test is necessary here to avoid nonexistence error
- case "$ipv6_enable" in
- [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
- warn "Interface $1 will NOT be configured for IPv6"
+ if checkyesno ipv6_prefer; then
+ _ipv6_opts="-ifdisabled"
+ else
+ _ipv6_opts="ifdisabled"
+ fi
+
+ # backward compatibility: $ipv6_enable
+ case $ipv6_enable in
+ [Yy][Ee][Ss])
+ _ipv6_opts="${_ipv6_opts} accept_rtadv"
;;
esac
+ fi
- ifconfig $1 inet6 ifdisabled
+ if [ -n "${_ipv6_opts}" ]; then
+ ifconfig $1 inet6 ${_ipv6_opts}
+ fi
+
+ # ifconfig_IF_ipv6
+ ifconfig_args=`ifconfig_getargs $1 ipv6`
+ if [ -n "${ifconfig_args}" ]; then
+ ifconfig $1 inet6 -ifdisabled
+ ifconfig $1 ${ifconfig_args}
+ _cfg=0
+ fi
+
+ # backward compatiblity: $ipv6_ifconfig_IF
+ ifconfig_args=`get_if_var $1 ipv6_ifconfig_IF`
+ if [ -n "${ifconfig_args}" ]; then
+ warn "\$ipv6_ifconfig_$1 is obsolete." \
+ " Use ifconfig_$1_ipv6 instead."
+ ifconfig $1 inet6 -ifdisabled
+ ifconfig $1 inet6 ${ifconfig_args}
+ _cfg=0
fi
fi
@@ -182,7 +194,7 @@ ifconfig_down()
# $default if given.
get_if_var()
{
- local _if _punct _punct_c _var _default prefix suffix
+ local _if _punct _var _default prefix suffix
if [ $# -ne 2 -a $# -ne 3 ]; then
err 3 'USAGE: get_if_var name var [default]'
@@ -207,7 +219,7 @@ get_if_var()
# outside this file.
_ifconfig_getargs()
{
- local _ifn _af value
+ local _ifn _af
_ifn=$1
_af=${2+_$2}
@@ -215,18 +227,7 @@ _ifconfig_getargs()
return 1
fi
- value=`get_if_var $_ifn ifconfig_IF$_af "$ifconfig_DEFAULT"`
-
- # Remove in FreeBSD 10.x
- if [ "$_af" = _ipv6 -a -z "$value" ]; then
- value=`get_if_var $_ifn ipv6_ifconfig_IF "$ifconfig_DEFAULT"`
- if [ -n "$value" ]; then
- warn "\$ipv6_ifconfig_$1 is obsolete." \
- " Use ifconfig_$1_ipv6 instead."
- fi
- fi
-
- echo $value
+ get_if_var $_ifn ifconfig_IF$_af "$ifconfig_DEFAULT"
}
# ifconfig_getargs if [af]
@@ -248,8 +249,6 @@ ifconfig_getargs()
[Nn][Oo][Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
[Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
[Ww][Pp][Aa]) ;;
- [Rr][Tt][Aa][Dd][Vv]) ;;
- [Nn][Oo][Rr][Tt][Aa][Dd][Vv]) ;;
*)
_args="$_args $_arg"
;;
@@ -373,47 +372,77 @@ afexists()
esac
}
+# noafif if
+# Returns 0 if the interface has no af configuration and 1 otherwise.
+noafif()
+{
+ local _if
+ _if=$1
+
+ case $_if in
+ pflog[0-9]*|\
+ pfsync[0-9]*|\
+ an[0-9]*|\
+ ath[0-9]*|\
+ ipw[0-9]*|\
+ iwi[0-9]*|\
+ iwn[0-9]*|\
+ ral[0-9]*|\
+ wi[0-9]*|\
+ wl[0-9]*|\
+ wpi[0-9]*)
+ return 0
+ ;;
+ esac
+
+ return 1
+}
+
# ipv6if if
# Returns 0 if the interface should be configured for IPv6 and
# 1 otherwise.
ipv6if()
{
+ local _if _tmpargs i
+ _if=$1
+
if ! afexists inet6; then
return 1
fi
# lo0 is always IPv6-enabled
- case $1 in
+ case $_if in
lo0)
return 0
;;
esac
- local _if _tmpargs i
- _if=$1
+ # True if $ifconfig_IF_ipv6 is defined.
+ _tmpargs=`_ifconfig_getargs $_if ipv6`
+ if [ -n "${_tmpargs}" ]; then
+ return 0
+ fi
+
+ # backward compatibility: True if $ipv6_ifconfig_IF is defined.
+ _tmpargs=`get_if_var $_if ipv6_ifconfig_IF`
+ if [ -n "${_tmpargs}" ]; then
+ return 0
+ fi
- case "$ipv6_network_interfaces" in
+ case "${ipv6_network_interfaces}" in
+ [Aa][Uu][Tt][Oo])
+ return 0
+ ;;
''|[Nn][Oo][Nn][Ee])
return 1
;;
- $_if|"$_if "*|*" $_if"|*" $_if "*|[Aa][Uu][Tt][Oo])
- # True if $ifconfig_IF_ipv6 is defined.
- _tmpargs=`_ifconfig_getargs $_if ipv6`
- # Also true if ipv6_prefix_IF is defined
- [ -n "$_tmpargs" ] || _tmpargs=`get_if_var $_if ipv6_prefix_IF`
- ;;
esac
- if [ -n "$_tmpargs" ]; then
- # Remove in FreeBSD 10.x
- # Explicit test is necessary here to avoid nonexistence error
- case "$ipv6_enable" in
- [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
- ;;
- *) return 0
- ;;
- esac
- fi
+ for i in ${ipv6_network_interfaces}; do
+ if [ "$i" = "$_if" ]; then
+ return 0
+ fi
+ done
return 1
}
@@ -423,24 +452,15 @@ ipv6if()
# Stateless Address Configuration, 1 otherwise.
ipv6_autoconfif()
{
- case $1 in
- lo0|\
- stf[0-9]*|\
- faith[0-9]*|\
- lp[0-9]*|\
- sl[0-9]*|\
- pflog[0-9]*|\
- pfsync[0-9]*)
- return 1
- ;;
- esac
-
local _if _tmpargs _arg
_if=$1
if ! ipv6if $_if; then
return 1
fi
+ if noafif $_if; then
+ return 1
+ fi
if checkyesno ipv6_gateway_enable; then
return 1
fi
@@ -448,24 +468,45 @@ ipv6_autoconfif()
if [ -n "${_tmpargs}" ]; then
return 1
fi
- if ! is_wired_interface $_if; then
- case $_if in
- wlan[0-9]*) ;; # Allow test to continue
- *) return 1
- ;;
- esac
- fi
- _tmpargs=`_ifconfig_getargs $_if ipv6`
- case "$_tmpargs" in
- *inet6\ *|*[Nn][Oo][Rr][Tt][Aa][Dd][Vv]*|*-accept_rtadv*)
+ case $_if in
+ lo0|\
+ stf[0-9]*|\
+ faith[0-9]*|\
+ lp[0-9]*|\
+ sl[0-9]*|\
+ pflog[0-9]*|\
+ pfsync[0-9]*)
return 1
;;
- *[Rr][Tt][Aa][Dd][Vv]*|*accept_rtadv*)
+ esac
+
+ # backward compatibility: $ipv6_enable
+ case $ipv6_enable in
+ [Yy][Ee][Ss])
return 0
;;
esac
+ _tmpargs=`_ifconfig_getargs $_if ipv6`
+ for _arg in $_tmpargs; do
+ case $_arg in
+ accept_rtadv)
+ return 0
+ ;;
+ esac
+ done
+
+ # backward compatibility: $ipv6_ifconfig_IF
+ _tmpargs=`get_if_var $_if ipv6_ifconfig_IF`
+ for _arg in $_tmpargs; do
+ case $_arg in
+ accept_rtadv)
+ return 0
+ ;;
+ esac
+ done
+
return 1
}
@@ -478,7 +519,7 @@ ifexists()
}
# ipv4_up if
-# add IPv4 addresses to the interface $if
+# add IPv4 addresses to the interface $if
ipv4_up()
{
local _if _ret
@@ -588,14 +629,14 @@ ipv6_down()
ipv4_addrs_common()
{
local _ret _if _action _cidr _cidr_addr
- local _ipaddr _netmask _range _ipnet _iplow _iphigh _ipcount
+ local _ipaddr _netmask _range _ipnet _iplow _iphigh _ipcount
_ret=1
_if=$1
_action=$2
-
+
# get ipv4-addresses
cidr_addr=`get_if_var $_if ipv4_addrs_IF`
-
+
for _cidr in ${cidr_addr}; do
_ipaddr=${_cidr%%/*}
_netmask="/"${_cidr##*/}
@@ -608,7 +649,7 @@ ipv4_addrs_common()
if [ "${_action}" = "-alias" ]; then
_netmask=""
fi
-
+
_ipcount=${_iplow}
while [ "${_ipcount}" -le "${_iphigh}" ]; do
eval "ifconfig ${_if} ${_action} ${_ipnet}.${_ipcount}${_netmask}"
diff --git a/etc/rc.d/ip6addrctl b/etc/rc.d/ip6addrctl
index 3963b07..d3b1856 100755
--- a/etc/rc.d/ip6addrctl
+++ b/etc/rc.d/ip6addrctl
@@ -20,6 +20,8 @@ status_cmd="ip6addrctl"
prefer_ipv6_cmd="ip6addrctl_prefer_ipv6"
prefer_ipv4_cmd="ip6addrctl_prefer_ipv4"
+set_rcvar_obsolete ipv6_enable ipv6_prefer
+
ip6addrctl_prefer_ipv6()
{
afexists inet6 || return 0
diff --git a/etc/rc.d/netif b/etc/rc.d/netif
index 06b8e76..f982cfc 100755
--- a/etc/rc.d/netif
+++ b/etc/rc.d/netif
@@ -34,7 +34,6 @@
. /etc/network.subr
name="network"
-start_precmd="network_prestart"
start_cmd="network_start"
stop_cmd="network_stop"
cloneup_cmd="clone_up"
@@ -42,13 +41,7 @@ clonedown_cmd="clone_down"
extra_commands="cloneup clonedown"
cmdifn=
-network_prestart()
-{
- if [ -n "$ipv6_enable" ]; then
- warn 'The ipv6_enable option is deprecated.'
- warn 'See rc.conf(5) for information on disabling IPv6.'
- fi
-}
+set_rcvar_obsolete ipv6_enable ipv6_prefer
network_start()
{
diff --git a/etc/rc.d/netoptions b/etc/rc.d/netoptions
index 433ce82..4631304 100755
--- a/etc/rc.d/netoptions
+++ b/etc/rc.d/netoptions
@@ -99,13 +99,6 @@ netoptions_inet6()
else
${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null
fi
-
- if checkyesno ipv6_privacy; then
- netoptions_init
- echo -n " IPv6 Privacy Addresses"
- ${SYSCTL_W} net.inet6.ip6.use_tempaddr=1 >/dev/null
- ${SYSCTL_W} net.inet6.ip6.prefer_tempaddr=1 >/dev/null
- fi
}
load_rc_config $name
OpenPOWER on IntegriCloud