diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-02-28 16:40:06 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-02-28 16:40:06 +0000 |
commit | 96e4312e7e0a7f47f22d672fceaf75feaa05334b (patch) | |
tree | c7244434b2019a1e1bdb3551ef3a8e44833dd1bd | |
parent | a15d58f605a776ee9a929fc46d52bfc7afc70de0 (diff) | |
download | upstream-96e4312e7e0a7f47f22d672fceaf75feaa05334b.tar.gz upstream-96e4312e7e0a7f47f22d672fceaf75feaa05334b.tar.bz2 upstream-96e4312e7e0a7f47f22d672fceaf75feaa05334b.zip |
switch: eliminate the asterisk from the switch port configuration and set it automatically on the first vlan, this aligns the broadcom vlan config with the swconfig format
SVN-Revision: 19909
-rw-r--r-- | package/switch/files/switch.sh | 10 | ||||
-rwxr-xr-x | target/linux/brcm-2.4/base-files/etc/init.d/netconfig | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/package/switch/files/switch.sh b/package/switch/files/switch.sh index 14bacadc5d..708ca85e8f 100644 --- a/package/switch/files/switch.sh +++ b/package/switch/files/switch.sh @@ -25,13 +25,21 @@ setup_switch_vlan() { config_get vlan "$s" vlan config_get ports "$s" ports - [ -n "$dev" ] && [ -n "$vlan" ] && { + [ -n "$dev" ] && [ -n "$vlan" ] && { + ports="${ports%\*}" + + [ "$_vlan_pvid_set" = 1 ] || { + ports="$ports*" + _vlan_pvid_set=1 + } + local proc="/proc/switch/$dev/vlan/$vlan/ports" [ -f "$proc" ] && echo "$ports" > "$proc" } } setup_switch() { + _vlan_pvid_set=0 config_load network config_foreach setup_switch_hw switch config_foreach setup_switch_vlan switch_vlan diff --git a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig index 435288fa80..0e014b625c 100755 --- a/target/linux/brcm-2.4/base-files/etc/init.d/netconfig +++ b/target/linux/brcm-2.4/base-files/etc/init.d/netconfig @@ -14,11 +14,12 @@ start() { case "$1" in vlan[0-9]|vlan1[0-5]) local id="${1#vlan}" + local ports="${2%\*}" append batch "delete network.eth0.${1}${N}" append batch "set network.eth0_${id}=switch_vlan${N}" append batch "set network.eth0_${id}.device=eth0${N}" append batch "set network.eth0_${id}.vlan=${id}${N}" - append batch "set network.eth0_${id}.ports='${2}'${N}" + append batch "set network.eth0_${id}.ports='${ports}'${N}" ;; esac } |