Author: dougb
Date: Sun Aug 23 05:47:19 2009
New Revision: 196436
URL: http://svn.freebsd.org/changeset/base/196436

Log:
  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.

Modified:
  head/etc/network.subr
  head/etc/rc.d/wpa_supplicant

Modified: head/etc/network.subr
==============================================================================
--- head/etc/network.subr       Sun Aug 23 05:45:38 2009        (r196435)
+++ head/etc/network.subr       Sun Aug 23 05:47:19 2009        (r196436)
@@ -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}"
                                ;;

Modified: head/etc/rc.d/wpa_supplicant
==============================================================================
--- head/etc/rc.d/wpa_supplicant        Sun Aug 23 05:45:38 2009        
(r196435)
+++ head/etc/rc.d/wpa_supplicant        Sun Aug 23 05:47:19 2009        
(r196436)
@@ -18,18 +18,6 @@ if [ -z "$ifn" ]; then
        return 1
 fi
 
-is_wired_interface()
-{
-       media=`ifconfig $1 2>/dev/null | while read line; do
-               case "$line" in
-               *media:?Ethernet*)
-                       echo Ethernet
-                       ;;
-               esac
-       done`
-       test "$media" = "Ethernet"
-}
-
 is_ndis_interface()
 {
        case `sysctl -n net.wlan.${1#wlan}.%parent 2>/dev/null` in
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to