gperf: build as C++11
[openwrt/openwrt.git] / target / linux / ipq806x / base-files / etc / board.d / 02_network
1 #
2 # Copyright (c) 2015 The Linux Foundation. All rights reserved.
3 # Copyright (c) 2011-2015 OpenWrt.org
4 #
5
6 . /lib/functions/uci-defaults.sh
7 . /lib/functions/system.sh
8
9 ipq806x_setup_interfaces()
10 {
11 local board="$1"
12
13 case "$board" in
14 arris,tr4400-v2)
15 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "eth2"
16 ;;
17 askey,rt4230w-rev6 |\
18 asrock,g10 |\
19 nec,wg2600hp |\
20 buffalo,wxr-2533dhp |\
21 compex,wpq864 |\
22 netgear,d7800 |\
23 netgear,r7500 |\
24 netgear,r7500v2 |\
25 qcom,ipq8064-ap148 |\
26 linksys,ea7500-v1 |\
27 linksys,ea8500 |\
28 nec,wg2600hp3 |\
29 netgear,r7800 |\
30 netgear,xr500 |\
31 netgear,xr450 |\
32 tplink,c2600 |\
33 tplink,vr2600v |\
34 tplink,ad7200 |\
35 zyxel,nbg6817)
36 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
37 ucidef_set_network_device_conduit "lan1" "eth1"
38 ucidef_set_network_device_conduit "lan2" "eth1"
39 ucidef_set_network_device_conduit "lan3" "eth1"
40 ucidef_set_network_device_conduit "lan4" "eth1"
41 ucidef_set_network_device_conduit "wan" "eth0"
42 ;;
43 asus,onhub |\
44 tplink,onhub)
45 ucidef_set_interfaces_lan_wan "lan1" "wan"
46 ucidef_set_network_device_conduit "lan1" "eth1"
47 ucidef_set_network_device_conduit "wan" "eth0"
48 ;;
49 edgecore,ecw5410)
50 ucidef_set_interfaces_lan_wan "eth1" "eth0"
51 ;;
52 qcom,ipq8064-ap161)
53 ucidef_set_interface_lan "eth1 eth2 lan1 lan2 lan3 lan4" "wan"
54 ;;
55 qcom,ipq8064-db149)
56 ucidef_set_interface_lan "eth1 eth2 eth3 lan1 lan2 lan3 lan4" "wan"
57 ;;
58 fortinet,fap-421e |\
59 ubnt,unifi-ac-hd)
60 ucidef_set_interface_lan "eth0 eth1"
61 ;;
62 meraki,mr42)
63 ucidef_set_interface_lan "eth0"
64 ;;
65 extreme,ap3935 |\
66 meraki,mr52)
67 ucidef_set_interfaces_lan_wan "eth0" "eth1"
68 ;;
69 *)
70 echo "Unsupported hardware. Network interfaces not intialized"
71 ;;
72 esac
73 }
74
75 ipq806x_setup_macs()
76 {
77 local board="$1"
78
79 case "$board" in
80 linksys,ea7500-v1)
81 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
82 ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
83 ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
84 ;;
85 linksys,ea8500)
86 hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
87 ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
88 ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
89 ;;
90 zyxel,nbg6817)
91 hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
92 ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)"
93 ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 3)"
94 ;;
95 asrock,g10)
96 hw_mac_addr=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
97 ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
98 hw_mac_addr=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
99 ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
100 ;;
101 esac
102 }
103
104 board_config_update
105 board=$(board_name)
106
107 ipq806x_setup_macs $board
108 ipq806x_setup_interfaces $board
109
110 board_config_flush
111
112 exit 0