# # Copyright (C) 2011 OpenWrt.org # . /lib/functions/system.sh . /lib/functions/uci-defaults.sh bcm53xx_setup_interfaces() { local board="$1" case "$board" in asus,rt-ac87u) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" ;; asus,rt-ac88u) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 extsw" "wan" ;; linksys,panamera) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 extsw" "wan" ;; luxul,xap-1610-v1) ucidef_set_interface_lan "poe lan" "dhcp" ;; meraki,mr32) ucidef_set_interface_lan "poe" "dhcp" ;; phicomm,k3) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" ;; *) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; esac } bcm53xx_setup_macs() { local board="$1" wan_macaddr="$(nvram get wan_hwaddr)" case "$board" in asus,rt-ac87u) etXmacaddr=$(nvram get et1macaddr) offset=1 ;; dlink,dir-885l | \ linksys,panamera | \ netgear,r7900 | \ netgear,r8000 | \ netgear,r8500) etXmacaddr=$(nvram get et2macaddr) offset=1 ;; luxul,xwr-3100v1 | \ luxul,xwr-3150-v1) etXmacaddr=$(nvram get et0macaddr) offset=5 ;; *) etXmacaddr=$(nvram get et0macaddr) offset=1 ;; esac # If WAN MAC isn't explicitly set, calculate it using base MAC as reference. [ -z "$wan_macaddr" -a -n "$etXmacaddr" ] && wan_macaddr=$(macaddr_add "$etXmacaddr" $offset) [ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr" } board_config_update board=$(board_name) bcm53xx_setup_interfaces "$board" bcm53xx_setup_macs "$board" board_config_flush exit 0