From 00394c57717f28bb3b9860020729cd73036a8cf8 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 24 Aug 2006 13:46:47 +0000 Subject: [PATCH] revert to using *_ifnames internally, too many problems with firewall, ppp, etc. otherwise 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 | 5 ++++- package/base-files/default/lib/network/config.sh | 13 +++++++++---- package/base-files/default/sbin/ifup | 5 ++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/package/base-files/default/etc/hotplug.d/net/10-net b/package/base-files/default/etc/hotplug.d/net/10-net index 8661a2851..b5140758a 100644 --- a/package/base-files/default/etc/hotplug.d/net/10-net +++ b/package/base-files/default/etc/hotplug.d/net/10-net @@ -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" diff --git a/package/base-files/default/lib/network/config.sh b/package/base-files/default/lib/network/config.sh index d4864ae86..5bc74d128 100755 --- a/package/base-files/default/lib/network/config.sh +++ b/package/base-files/default/lib/network/config.sh @@ -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 } diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 86d10d7ca..c7055d480 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -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"