forked from openwrt/openwrt
/
02_network
68 lines (58 loc) · 1.32 KB
/
02_network
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
. /lib/functions.sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
ucidef_set_poe() {
json_select_object poe
json_add_string "budget" "$1"
json_select_array ports
for port in $2; do
json_add_string "" "$port"
done
json_select ..
json_select ..
}
board=$(board_name)
board_config_update
lan_list=""
for lan in /sys/class/net/lan*; do
lan_list="$lan_list $(basename $lan)"
done
ucidef_set_bridge_device switch
ucidef_set_interface_wan "$lan_list"
ucidef_set_interface "lan" device "lan1:t" protocol "static" vlan 100
lan_mac=""
wan_mac=""
label_mac=""
case $board in
*)
wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
label_mac=$lan_mac
;;
esac
lan_mac=$(macaddr_setbit_la $wan_mac)
ucidef_set_interface_macaddr "lan" $lan_mac
ucidef_set_interface_macaddr "wan" $wan_mac
ucidef_set_bridge_mac "$wan_mac"
ucidef_set_network_device_mac eth0 $wan_mac
for lan in $lan_list; do
ucidef_set_network_device_mac $lan $lan_mac
lan_mac=$(macaddr_add $lan_mac 1)
done
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
case $board in
netgear,gs110tpp-v1)
ucidef_set_poe 130 "$lan_list"
;;
netgear,gs310tp-v1)
ucidef_set_poe 55 "$lan_list"
;;
zyxel,gs1900-10hp)
ucidef_set_poe 77 "$lan_list"
;;
zyxel,gs1900-8hp-v1|\
zyxel,gs1900-8hp-v2)
ucidef_set_poe 70 "$lan_list"
;;
esac
board_config_flush
exit 0