revert to using *_ifnames internally, too many problems with firewall, ppp, etc....
authorFelix Fietkau <nbd@openwrt.org>
Thu, 24 Aug 2006 13:46:47 +0000 (13:46 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 24 Aug 2006 13:46:47 +0000 (13:46 +0000)
SVN-Revision: 4653

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

index 8661a28..b514075 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 d4864ae..5bc74d1 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 86d10d7..c7055d4 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"