revert to using *_ifnames internally, too many problems with firewall, ppp, etc....
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 24 Aug 2006 13:46:47 +0000 (13:46 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 24 Aug 2006 13:46:47 +0000 (13:46 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4653 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/default/etc/hotplug.d/net/10-net
package/base-files/default/lib/network/config.sh
package/base-files/default/sbin/ifup

index 8661a2851da565ed4f9ec875cbd469008238f9a8..b5140758afe312cd273ee0289c69128835de8022 100644 (file)
@@ -9,7 +9,10 @@ addif() {
        # find all vlan configurations for this interface and set them up as well
        for ifc in $interfaces; do
                config_get iftype "$ifc" type
-               config_get ifs "$ifc" ifname
+               case "$iftype" in
+                       bridge) config_get ifs "$ifc" ifnames;;
+                       *) config_get ifs "$ifc" ifname;;
+               esac
                for dev in $ifs; do
                        [ "${dev%%\.*}" = "$INTERFACE" -a "$dev" != "$INTERFACE" ] && {
                                add_vlan "$dev"
index d4864ae86e0355c832c5df2cb26b6d1ffe8f596b..5bc74d12853ec8efb9439e54ae1a59bcc13e8241 100755 (executable)
@@ -21,7 +21,7 @@ find_config() {
 }
 
 scan_interfaces() {
-       local mode iftype iface
+       local mode iftype iface ifname device
        interfaces=
        config_cb() {
                config_get iftype "$CONFIG_SECTION" TYPE
@@ -29,10 +29,15 @@ scan_interfaces() {
                        interface)
                                config_get proto "$CONFIG_SECTION" proto
                                append interfaces "$CONFIG_SECTION"
+                               config_get iftype "$CONFIG_SECTION" iftype
+                               case "$iftype" in
+                                       bridge)
+                                               config_get ifname "$CONFIG_SECTION" ifname
+                                               config_set "$CONFIG_SECTION" ifnames "$ifname"
+                                               config_set "$CONFIG_SECTION" ifname br-"$CONFIG_SECTION"
+                                       ;;
+                               esac
                                ( type "scan_$proto" ) >/dev/null 2>/dev/null && eval "scan_$proto '$CONFIG_SECTION'"
-                               config_get ifname "$CONFIG_SECTION" ifname
-                               config_get device "$CONFIG_SECTION" device
-                               config_set "$CONFIG_SECTION" device "${device:-$ifname}"
                        ;;
                esac
        }
index 86d10d7ca3f96fd5e25f6bcec16d4ed139d6e051..c7055d4807b976bbec0d16d0fdc7a53f4f1b5479 100755 (executable)
@@ -4,7 +4,10 @@
 . /sbin/ifdown "$@"
 
 config_get iftype "$1" type
-config_get ifname "$1" ifname
+case "$iftype" in
+       bridge) config_get ifname "$1" ifnames;;
+       *) config_get ifname "$1" ifname;;
+esac
 
 for dev in $ifname; do
        setup_interface "$dev" "$1"