diff options
author | hrs <hrs@FreeBSD.org> | 2014-05-16 14:48:21 +0000 |
---|---|---|
committer | hrs <hrs@FreeBSD.org> | 2014-05-16 14:48:21 +0000 |
commit | af9fb17a16f82b4b8fb3d41be0bca4b3c60eb83d (patch) | |
tree | 376bd4b371bf9634b3a8310c137e35f799b5f26b /etc | |
parent | de22c5aa1a72ab74f636f97b040f0fdfe11d90e8 (diff) | |
download | FreeBSD-src-af9fb17a16f82b4b8fb3d41be0bca4b3c60eb83d.zip FreeBSD-src-af9fb17a16f82b4b8fb3d41be0bca4b3c60eb83d.tar.gz |
Move configuration of IPv6 NDP flags to a point before handling ifconfig_IF.
This fixes a race that a non-IPv4 interface can get an EUI64 LLA even if it
has IFDISABLED nd6 flag at boot time.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/network.subr | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/etc/network.subr b/etc/network.subr index aa72749..5c918cc 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -132,13 +132,6 @@ ifconfig_up() _cfg=0 fi - # ifconfig_IF - ifconfig_args=`ifconfig_getargs $1` - if [ -n "${ifconfig_args}" ]; then - eval ${IFCONFIG_CMD} $1 ${ifconfig_args} - _cfg=0 - fi - # inet6 specific if ! noafif $1 && afexists inet6; then if checkyesno ipv6_activate_all_interfaces; then @@ -174,7 +167,17 @@ ifconfig_up() if [ -n "${_ipv6_opts}" ]; then ${IFCONFIG_CMD} $1 inet6 ${_ipv6_opts} fi + fi + # ifconfig_IF + ifconfig_args=`ifconfig_getargs $1` + if [ -n "${ifconfig_args}" ]; then + eval ${IFCONFIG_CMD} $1 ${ifconfig_args} + _cfg=0 + fi + + # inet6 specific + if ! noafif $1 && afexists inet6; then # ifconfig_IF_ipv6 ifconfig_args=`ifconfig_getargs $1 ipv6` if [ -n "${ifconfig_args}" ]; then |