#!/bin/sh

. /lib/functions.sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh

ramips_setup_interfaces()
{
	local board="$1"

	case $board in
	airlink101,ar670w|\
	airlink101,ar725w)
		ucidef_add_switch "switch0" \
			"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
		;;
	asus,rt-n15)
		ucidef_add_switch "switch0" \
			"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
		;;
	belkin,f5d8235-v1|\
	buffalo,wzr-agl300nh|\
	ralink,v11st-fe)
		ucidef_add_switch "switch0" \
			"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
		;;
	buffalo,wli-tx4-ag300n|\
	dlink,dap-1522-a1)
		ucidef_set_interface_lan "eth0"
		;;
	esac
}

ramips_setup_macs()
{
	local board="$1"
	local lan_mac=""
	local wan_mac=""
	local label_mac=""

	case $board in
	airlink101,ar670w)
		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2004)" 1)
		;;
	airlink101,ar725w|\
	asus,rt-n15|\
	belkin,f5d8235-v1|\
	buffalo,wzr-agl300nh)
		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
		;;
	esac

	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
	[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
	[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
}

board_config_update
board=$(board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
board_config_flush

exit 0
