6bec600540ead0ca12cac7d1c155af53947329bc
[openwrt/staging/stintel.git] / target / linux / bcm53xx / base-files / etc / board.d / 02_network
1 #
2 # Copyright (C) 2011 OpenWrt.org
3 #
4
5 . /lib/functions/system.sh
6 . /lib/functions/uci-defaults.sh
7
8 bcm53xx_setup_interfaces()
9 {
10 local board="$1"
11
12 case "$board" in
13 asus,rt-ac87u)
14 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
15 ;;
16 asus,rt-ac88u)
17 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 extsw" "wan"
18 ;;
19 dlink,dwl-8610ap)
20 ucidef_set_interface_lan "eth0 eth1" "dhcp"
21 ;;
22 linksys,panamera)
23 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 extsw" "wan"
24 ;;
25 luxul,xap-1610-v1)
26 ucidef_set_interface_lan "poe lan" "dhcp"
27 ;;
28 meraki,mr26 | \
29 meraki,mr32)
30 ucidef_set_interface_lan "poe" "dhcp"
31 ;;
32 phicomm,k3)
33 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
34 ;;
35 *)
36 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
37 ;;
38 esac
39 }
40
41 bcm53xx_setup_macs()
42 {
43 local board="$1"
44
45 wan_macaddr="$(nvram get wan_hwaddr)"
46
47 case "$board" in
48 asus,rt-ac87u)
49 etXmacaddr=$(nvram get et1macaddr)
50 offset=1
51 ;;
52 dlink,dir-885l | \
53 linksys,panamera | \
54 netgear,r7900 | \
55 netgear,r8000 | \
56 netgear,r8500)
57 etXmacaddr=$(nvram get et2macaddr)
58 offset=1
59 ;;
60 luxul,xwr-3100v1 | \
61 luxul,xwr-3150-v1)
62 etXmacaddr=$(nvram get et0macaddr)
63 offset=5
64 ;;
65 meraki,mr26)
66 label_mac="$(mtd_get_mac_binary_ubi board-config 0x66)"
67 ucidef_set_interface_macaddr "lan" "$label_mac"
68 ucidef_set_label_macaddr "$label_mac"
69 ;;
70 *)
71 etXmacaddr=$(nvram get et0macaddr)
72 offset=1
73 ;;
74 esac
75
76 # If WAN MAC isn't explicitly set, calculate it using base MAC as reference.
77 [ -z "$wan_macaddr" -a -n "$etXmacaddr" ] && wan_macaddr=$(macaddr_add "$etXmacaddr" $offset)
78
79 [ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
80 }
81
82 board_config_update
83 board=$(board_name)
84 bcm53xx_setup_interfaces "$board"
85 bcm53xx_setup_macs "$board"
86 board_config_flush
87
88 exit 0