Page MenuHomeFreeBSD

D19488.id54790.diff
No OneTemporary

D19488.id54790.diff

Index: libexec/rc/network.subr
===================================================================
--- libexec/rc/network.subr
+++ libexec/rc/network.subr
@@ -229,6 +229,11 @@
${IFCONFIG_CMD} $1 up
fi
+ if ! noafif $1 && afexists inet6; then
+ ipv6_accept_rtadv_up $1
+ _cfg=0
+ fi
+
if dhcpif $1; then
if [ $_cfg -ne 0 ] ; then
${IFCONFIG_CMD} $1 up
@@ -327,6 +332,7 @@
for _arg in $_tmpargs; do
case $_arg:$_vnet in
+ [Rr][Tt][Ss][Oo][Ll]:0) ;;
[Dd][Hh][Cc][Pp]:0) ;;
[Nn][Oo][Aa][Uu][Tt][Oo]:0) ;;
[Nn][Oo][Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]:0) ;;
@@ -363,6 +369,42 @@
return 0
}
+# rtsolif if
+# Returns 0 if the interface is a RTSOL interface and 1 otherwise.
+rtsolif()
+{
+ local _tmpargs _arg
+
+ case $1 in
+ lo[0-9]*|\
+ stf[0-9]*|\
+ lp[0-9]*|\
+ sl[0-9]*)
+ return 1
+ ;;
+ esac
+ if noafif $1; then
+ return 1
+ fi
+
+ _tmpargs=`_ifconfig_getargs $1 ipv6`
+ for _arg in $_tmpargs; do
+ case $_arg in
+ [Rr][Tt][Ss][Oo][Ll])
+ return 0
+ ;;
+ esac
+ done
+
+ # If rtsold is not enabled run rtsol.
+ # This comes last to not override a per-IF flag.
+ if ! checkyesno rtsold_enable; then
+ return 0
+ fi
+
+ return 1
+}
+
# dhcpif if
# Returns 0 if the interface is a DHCP interface and 1 otherwise.
dhcpif()
@@ -686,7 +728,6 @@
ifalias ${_if} inet6 alias && _ret=0
ipv6_prefix_hostid_addr_common ${_if} alias && _ret=0
- ipv6_accept_rtadv_up ${_if} && _ret=0
return $_ret
}
@@ -1198,8 +1239,8 @@
{
if ipv6_autoconfif $1; then
${IFCONFIG_CMD} $1 inet6 accept_rtadv up
- if ! checkyesno rtsold_enable; then
- rtsol ${rtsol_flags} $1
+ if rtsolif $1; then
+ /sbin/rtsol ${rtsol_flags} $1
fi
fi
}

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 3:22 AM (19 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28530828
Default Alt Text
D19488.id54790.diff (1 KB)

Event Timeline