qualcommax: ipq807x: reordering, combine the same commands
[openwrt/staging/stintel.git] / target / linux / qualcommax / ipq807x / 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 ipq807x_setup_interfaces()
10 {
11 local board="$1"
12
13 case "$board" in
14 arcadyan,aw1000|\
15 buffalo,wxr-5950ax12|\
16 dynalink,dl-wrx36|\
17 xiaomi,ax9000)
18 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
19 ;;
20 cmcc,rm2-6)
21 ucidef_set_interfaces_lan_wan "lan plc" "wan"
22 ;;
23 compex,wpq873|\
24 linksys,mx4200v1|\
25 linksys,mx4200v2|\
26 prpl,haze|\
27 redmi,ax6|\
28 xiaomi,ax3600)
29 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
30 ;;
31 edgecore,eap102|\
32 yuncore,ax880|\
33 zte,mf269)
34 ucidef_set_interfaces_lan_wan "lan" "wan"
35 ;;
36 edimax,cax1800)
37 ucidef_set_interfaces_lan_wan "lan"
38 ;;
39 netgear,rax120v2)
40 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" "wan"
41 ;;
42 netgear,wax218|\
43 netgear,wax620)
44 ucidef_set_interface_lan "lan" "dhcp"
45 ;;
46 netgear,wax630)
47 ucidef_set_interface_lan "lan1 lan2" "dhcp"
48 ;;
49 qnap,301w)
50 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 10g-2" "10g-1"
51 ;;
52 zyxel,nbg7815)
53 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 10g" "wan"
54 ;;
55 *)
56 echo "Unsupported hardware. Network interfaces not initialized"
57 ;;
58 esac
59 }
60
61 ipq807x_setup_macs()
62 {
63 local board="$1"
64 local lan_mac=""
65 local wan_mac=""
66 local label_mac=""
67
68 case "$board" in
69 linksys,mx4200v1|\
70 linksys,mx4200v2)
71 label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
72 for i in $(seq 3 5); do
73 [ "$(mtd_get_mac_ascii u_env eth${i}addr)" != "$label_mac" ] && lan_mac=$label_mac
74 done
75 [ "$(mtd_get_mac_ascii u_env eth2addr)" != "$label_mac" ] && wan_mac=$label_mac
76 ;;
77 esac
78
79 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
80 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
81 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
82 }
83
84 board_config_update
85 board=$(board_name)
86 ipq807x_setup_interfaces $board
87 ipq807x_setup_macs $board
88 board_config_flush
89
90 exit 0