@ -25,22 +25,28 @@ buffalo,wzr-1750dhp)
;;
;;
esac
esac
wan_macaddr="$(nvram get wan_hwaddr)"
case "$board" in
case "$board" in
asus,rt-ac87u)
asus,rt-ac87u)
ifname=eth1
ifname=eth1
etXmacaddr=$(nvram get et1macaddr)
;;
;;
dlink,dir-885l | \
dlink,dir-885l | \
netgear,r7900 | \
netgear,r7900 | \
netgear,r8000 | \
netgear,r8000 | \
netgear,r8500)
netgear,r8500)
ifname=eth2
ifname=eth2
etXmacaddr=$(nvram get et2macaddr)
;;
;;
*)
*)
ifname=eth0
ifname=eth0
etXmacaddr=$(nvram get et0macaddr)
;;
;;
esac
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" 1)
# Workaround for devices using eth2 connected to (CPU) switch port 8
# Workaround for devices using eth2 connected to (CPU) switch port 8
case "$board" in
case "$board" in
dlink,dir-885l | \
dlink,dir-885l | \
@ -55,6 +61,7 @@ netgear,r8500)
# assigned. Manually assign eth2's MAC to the LAN.
# assigned. Manually assign eth2's MAC to the LAN.
et2macaddr="$(nvram get et2macaddr)"
et2macaddr="$(nvram get et2macaddr)"
[ -n "$et2macaddr" ] && ucidef_set_interface_macaddr "lan" "$et2macaddr"
[ -n "$et2macaddr" ] && ucidef_set_interface_macaddr "lan" "$et2macaddr"
[ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
board_config_flush
board_config_flush
exit 0
exit 0
@ -85,6 +92,8 @@ else
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5t@$ifname"
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5t@$ifname"
fi
fi
[ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
board_config_flush
board_config_flush
exit 0
exit 0