diff options
Diffstat (limited to 'target/linux/brcm47xx')
-rwxr-xr-x | target/linux/brcm47xx/base-files/etc/init.d/netconfig | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/target/linux/brcm47xx/base-files/etc/init.d/netconfig b/target/linux/brcm47xx/base-files/etc/init.d/netconfig index 2b1a66d33..98747f580 100755 --- a/target/linux/brcm47xx/base-files/etc/init.d/netconfig +++ b/target/linux/brcm47xx/base-files/etc/init.d/netconfig @@ -101,11 +101,22 @@ start() { } } - ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) { + ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) || \ + ($1 ~ /^vlan[0-9]{1,2}ports$/) { nvram[$1] = $2 } END { + if (((nvram["vlan0ports"] ~ /^0 1 2 3 8/ ) && (nvram["vlan1ports"] ~ /^4 8/ && (cpuport == "8"))) || \ + ((nvram["vlan1ports"] ~ /^0 1 2 3 8/ ) && (nvram["vlan2ports"] ~ /^4 8/ && (cpuport == "8")))) { + c["vlan0ports"] = "0 1 2 3 8" + c["vlan1ports"] = "4 8" + } + if (((nvram["vlan0ports"] ~ /^0 1 2 3 5/ ) && (nvram["vlan1ports"] ~ /^4 5/ && (cpuport == "5"))) || \ + ((nvram["vlan1ports"] ~ /^0 1 2 3 5/ ) && (nvram["vlan2ports"] ~ /^4 5/ && (cpuport == "5")))) { + c["vlan0ports"] = "0 1 2 3 5" + c["vlan1ports"] = "4 5" + } if ((model == "ASUS WL-HDD") || (model == "ASUS WL-300g") || (model == "Linksys WAP54G V1")) { c["wan_ifname"] = "" c["lan_ifname"] = "eth1" |