ramips: merge identical switch configuration entries
[openwrt/svn-archive/archive.git] / target / linux / ramips / base-files / etc / uci-defaults / network
1 #!/bin/sh
2
3 . /etc/functions.sh
4 . /lib/ramips.sh
5 . /lib/functions/uci-defaults.sh
6
7 if [ ! -x /usr/sbin/maccalc ]; then
8 echo "$0: maccalc not found!"
9 return
10 fi
11
12 ramips_setup_interfaces()
13 {
14 local board="$1"
15
16 ucidef_set_interface_loopback
17
18 case $board in
19 all0256n)
20 ucidef_set_interface_lan "eth0.1"
21 ;;
22
23 argus-atp52b | \
24 b2c | \
25 nw718 | \
26 sl-r7205 | \
27 w502u | \
28 wr6202)
29 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
30 ;;
31
32 f5d8235-v1 | \
33 f5d8235-v2 | \
34 v11st-fe)
35 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
36 ucidef_add_switch "switch0" "1" "1"
37 ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
38 ucidef_add_switch_vlan "switch0" "2" "0 5t"
39 ;;
40
41 rt-n15 | \
42 wl-351)
43 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
44 ucidef_add_switch "switch0" "1" "1"
45 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t"
46 ucidef_add_switch_vlan "switch0" "2" "4 5t"
47 ;;
48
49 rt-n56u)
50 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
51 ucidef_add_switch "switch0" "1" "1"
52 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t"
53 ucidef_add_switch_vlan "switch0" "2" "4 8t"
54 ;;
55
56 wcr-150gn)
57 ucidef_set_interface_lan_wan "eth0.2" "eth0.1"
58 ;;
59
60 wli-tx4-ag300n)
61 ucidef_set_interface_lan "eth0"
62 ;;
63
64 *)
65 RT3X5X=`cat /proc/cpuinfo | grep RT3.5`
66 if [ -n "${RT3X5X}" ]; then
67 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
68 else
69 ucidef_set_interfaces_lan_wan "eth0" "eth1"
70 fi
71 ;;
72 esac
73 }
74
75 ramips_setup_macs()
76 {
77 local board="$1"
78 local lan_mac=""
79 local wan_mac=""
80
81 case $board in
82 all0256n)
83 lan_mac=$(ramips_get_mac_binary factory 40)
84 ;;
85
86 argus-atp52b | \
87 b2c | \
88 f5d8235-v1 | \
89 nw718 | \
90 rt-n15 | \
91 sl-r7205 | \
92 wl-351)
93 lan_mac=$(ramips_get_mac_binary factory 4)
94 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
95 ;;
96
97 dir-300-b1 |\
98 dir-300-b2 |\
99 dir-600-b1)
100 lan_mac=$(ramips_get_mac_binary devdata 16388)
101 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
102 ;;
103
104 esr-9753 | \
105 nbg-419n | \
106 wcr-150gn)
107 lan_mac=$(ramips_get_mac_binary factory 4)
108 wan_mac=$(ramips_get_mac_binary factory 40)
109 ;;
110
111 f5d8235-v2)
112 lan_mac=$(ramips_get_mac_binary "u-boot" 262148)
113 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
114 ;;
115
116 rt-n56u)
117 lan_mac=$(ramips_get_mac_binary factory 4)
118 wan_mac=$(ramips_get_mac_binary factory 32772)
119 ;;
120
121 w502u)
122 lan_mac=$(ramips_get_mac_binary factory 40)
123 wan_mac=$(ramips_get_mac_binary factory 46)
124 ;;
125
126 wl341v3)
127 lan_mac=$(ramips_get_mac_binary board-nvram 65440)
128 wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
129 ;;
130
131 wli-tx4-ag300n)
132 lan_mac=$(ramips_get_mac_binary factory 4)
133 ;;
134
135 esac
136
137 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac
138 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac
139 }
140
141 [ -e /etc/config/network ] && exit 0
142
143 touch /etc/config/network
144
145 board=$(ramips_board_name)
146
147 ramips_setup_interfaces $board
148 ramips_setup_macs $board
149
150 uci commit network
151
152 exit 0