diff options
author | Felix Fietkau <nbd@openwrt.org> | 2008-04-02 21:27:28 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2008-04-02 21:27:28 +0000 |
commit | f4f7d687f0bcbcf6bd6b3bd1ae3da5d9e93f0c28 (patch) | |
tree | 99cbe3efc2473e0e88eed73cf29eb91cee5d571f | |
parent | 1d3ed2fca01cee345ea6f6870f5c43b2d96cd712 (diff) | |
download | upstream-f4f7d687f0bcbcf6bd6b3bd1ae3da5d9e93f0c28.tar.gz upstream-f4f7d687f0bcbcf6bd6b3bd1ae3da5d9e93f0c28.tar.bz2 upstream-f4f7d687f0bcbcf6bd6b3bd1ae3da5d9e93f0c28.zip |
fix interface enumeration issues related to /var/state/network (thx to fish for debugging this)
SVN-Revision: 10715
-rwxr-xr-x | package/base-files/files/lib/network/config.sh | 16 | ||||
-rw-r--r-- | package/ppp/files/pppoe.sh | 2 |
2 files changed, 14 insertions, 4 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 611da718cd..d76c4bf962 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -40,10 +40,11 @@ scan_interfaces() { append interfaces "$CONFIG_SECTION" config_get iftype "$CONFIG_SECTION" type config_get ifname "$CONFIG_SECTION" ifname - config_set "$CONFIG_SECTION" device "$ifname" + config_get device "$CONFIG_SECTION" device + config_set "$CONFIG_SECTION" device "${device:-$ifname}" case "$iftype" in bridge) - config_set "$CONFIG_SECTION" ifnames "$ifname" + config_set "$CONFIG_SECTION" ifnames "${device:-$ifname}" config_set "$CONFIG_SECTION" ifname br-"$CONFIG_SECTION" ;; esac @@ -113,6 +114,15 @@ prepare_interface() { return 0 } +set_interface_ifname() { + local config="$1" + local ifname="$2" + + config_get device "$1" device + uci_set_state "network.$config.ifname=$ifname" + uci_set_state "network.$config.device=$device" +} + setup_interface() { local iface="$1" local config="$2" @@ -140,7 +150,7 @@ setup_interface() { config_get macaddr "$config" macaddr grep "$iface:" /proc/net/dev > /dev/null && \ $DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up - uci_set_state network "$config" ifname "$iface" + set_interface_ifname "$config" "$iface" pidfile="/var/run/$iface.pid" case "$proto" in diff --git a/package/ppp/files/pppoe.sh b/package/ppp/files/pppoe.sh index f33d37a1a8..e1c9a20cd7 100644 --- a/package/ppp/files/pppoe.sh +++ b/package/ppp/files/pppoe.sh @@ -13,7 +13,7 @@ setup_interface_pppoe() { # make sure the network state references the correct ifname scan_ppp "$config" config_get ifname "$config" ifname - uci set "/var/state/network.$config.ifname=$ifname" + set_interface_ifname "$config" "$ifname" config_get mtu "$cfg" mtu mtu=${mtu:-1492} |