aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/kirkwood/base-files/etc/uci-defaults/02_network16
1 files changed, 16 insertions, 0 deletions
diff --git a/target/linux/kirkwood/base-files/etc/uci-defaults/02_network b/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
index bc7e793db5..5b79687784 100644
--- a/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
+++ b/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
@@ -20,6 +20,19 @@ set network.lan6.reqprefix='no'
EOF
}
+add_port_based_vlan() {
+ local device=$1
+ local vlan=$2
+ local ports=$3
+ uci batch <<EOF
+add network switch_vlan
+set network.@switch_vlan[-1].device='$device'
+set network.@switch_vlan[-1].vlan='$vlan'
+set network.@switch_vlan[-1].ports='$ports'
+set network.@switch_vlan[-1].port_based='1'
+EOF
+}
+
. /lib/functions/uci-defaults.sh
. /lib/kirkwood.sh
@@ -45,6 +58,9 @@ case "$board" in
;;
"ea4500")
ucidef_set_interfaces_lan_wan "eth0" "eth1"
+ ucidef_add_switch "switch0" "1" "0"
+ add_port_based_vlan "switch0" "1" "0 1 2 3 5"
+ add_port_based_vlan "switch0" "2" "4 6"
;;
*)
ucidef_set_interface_lan "eth0"