diff options
Diffstat (limited to 'target/linux/bcm53xx/base-files/etc/board.d')
-rwxr-xr-x | target/linux/bcm53xx/base-files/etc/board.d/02_network | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/base-files/etc/board.d/02_network b/target/linux/bcm53xx/base-files/etc/board.d/02_network new file mode 100755 index 0000000000..c36b47ca4d --- /dev/null +++ b/target/linux/bcm53xx/base-files/etc/board.d/02_network @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Copyright (C) 2011 OpenWrt.org +# + +. /lib/functions/uci-defaults-new.sh + +board_config_update + +ucidef_set_interface_loopback + +ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" +ucidef_add_switch "switch0" "1" "1" + +vlan1ports="$(nvram get vlan1ports)" +vlan2ports="$(nvram get vlan2ports)" +if echo "$vlan1ports" | egrep -q "^1 2 3 4 5" && \ + echo "$vlan2ports" | egrep -q "^0 5"; then + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t" + ucidef_add_switch_vlan "switch0" "2" "0 5t" +elif echo "$vlan1ports" | egrep -q "^0 1 2 3 5 7 8" && \ + echo "$vlan2ports" | egrep -q "^4 8"; then + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5 7 8t" + ucidef_add_switch_vlan "switch0" "2" "4 8t" +else + # This also handles some funcy (e.g. R6250) configs like: + # vlan1ports=3 2 1 0 5* + # vlan2ports=4 5u + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t" + ucidef_add_switch_vlan "switch0" "2" "4 5t" +fi + +board_config_flush + +exit 0 |