summaryrefslogtreecommitdiff
path: root/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
blob: 5b79687784012d0bdf41d0bba3ae5f44dab5458e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh
#
# Copyright (C) 2012-2014 OpenWrt.org
#

[ -e /etc/config/network ] && exit 0

touch /etc/config/network

set_lan_dhcp() {
	local ifname=$1
	uci batch <<EOF
set network.lan='interface'
set network.lan.ifname='$ifname'
set network.lan.proto='dhcp'
set network.lan6='interface'
set network.lan6.ifname='@lan'
set network.lan6.proto='dhcpv6'
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

board=$(kirkwood_board_name)

ucidef_set_interface_loopback

case "$board" in
"dockstar")
	set_lan_dhcp "eth0"
	;;
"iconnect")
	set_lan_dhcp "eth0"
	;;
"ib62x0")
	set_lan_dhcp "eth0"
	;;
"pogo_e02")
	set_lan_dhcp "eth0"
	;;
"ea3500")
	ucidef_set_interfaces_lan_wan "eth0" "eth1"
	;;
"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"
	;;
esac

uci commit network

exit 0