diff options
author | dougb <dougb@FreeBSD.org> | 2009-08-26 21:08:41 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2009-08-26 21:08:41 +0000 |
commit | 4803a8253e532f7f29f513ef60a395b82af3f4fc (patch) | |
tree | b7ea977eacf035de57d9db7f57a2bf04c435213d /etc/network.subr | |
parent | 35cadb98eb5f2d38a76f10f94b1be6c4ed156da2 (diff) | |
download | FreeBSD-src-4803a8253e532f7f29f513ef60a395b82af3f4fc.zip FreeBSD-src-4803a8253e532f7f29f513ef60a395b82af3f4fc.tar.gz |
MFC 196436;
Move is_wired_interface() from rc.d/wpa_supplicant into network.subr,
simplify it a bit, and make use of that method to determine if an
interface is a candidate for IPv6 rtsol rather than listing all of the
possible wireless interfaces that should _not_ get rtsol'ed.
This change is only relevant for 8.0+ unless the "wlan mandatory" code
gets ported back to RELENG_7.
Approved by: re (kib)
Diffstat (limited to 'etc/network.subr')
-rw-r--r-- | etc/network.subr | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/etc/network.subr b/etc/network.subr index 22bfc7d..c149854 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -816,6 +816,17 @@ hexprint() echo ${str} } +is_wired_interface() +{ + local media + + case `ifconfig $1 2>/dev/null` in + *media:?Ethernet*) media=Ethernet ;; + esac + + test "$media" = "Ethernet" +} + # Setup the interfaces for IPv6 network6_interface_setup() { @@ -858,14 +869,19 @@ network6_interface_setup() ifconfig $i inet6 ${ipv6_ifconfig} alias fi + # Wireless NIC cards are virtualized through the wlan interface + if ! is_wired_interface ${i}; then + case "${i}" in + wlan*) rtsol_available=yes ;; + *) rtsol_available=no ;; + esac + fi + if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; - # Wireless NIC cards are virtualized through the wlan interface - 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]*) - ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ;; |