#!/bin/sh
#
# Copyright (C) 2013 OpenWrt.org
#

SWITCH_NAME_CHANGED=

. /lib/functions.sh

do_change_switch_name() {
	local config="$1"
	local option=$2
	local oldname=$3
	local newname=$4
	local val

	config_get val "$config" $option
	[ "$val" != "$oldname" ] && return 0

	uci_set network "$config" $option $newname
	SWITCH_NAME_CHANGED=1

	return 0
}

migrate_switch_name() {
	local oldname=$1
	local newname=$2

	config_load network

	logger -t migrate-switchX "Updating switch names in network configuration"

	config_foreach do_change_switch_name switch name $oldname $newname
	config_foreach do_change_switch_name switch_vlan device $oldname $newname

	[ "$SWITCH_NAME_CHANGED" = "1" ] && {
		logger -t migrate-switchX "Switch names updated, saving network configuration"
		uci commit network
	}
}

board=$(board_name)

case "$board" in
airrouter|\
ap121|\
ap121-mini|\
ap96|\
dir-600-a1|\
dir-615-c1|\
dir-615-e1|\
dir-615-e4|\
dir-825-c1|\
ebr-2310-c1|\
ew-dorin|\
ew-dorin-router|\
ja76pf|\
rb-750|\
rb-751|\
tew-632brp|\
tew-712br|\
tl-mr3220|\
tl-mr3220-v2 |\
tl-mr3420|\
tl-wdr4300|\
tl-wr741nd|\
tl-wr741nd-v4|\
tl-wr841n-v7|\
tl-wr1041n-v2|\
whr-g301n|\
whr-hp-g300n|\
whr-hp-gn|\
wrt160nl|\
wzr-hp-ag300h|\
wzr-hp-g300nh2|\
wzr-hp-g450h|\
z1)
	migrate_switch_name "eth0" "switch0"
	;;

el-m150|\
rb-450)
	migrate_switch_name "eth1" "switch0"
	;;

db120|\
rb-2011il|\
rb-2011ils|\
rb-2011l|\
rb-2011uas-2hnd)
	migrate_switch_name "eth0" "switch0"
	migrate_switch_name "eth1" "switch1"
	;;

dir-825-b1|\
nbg460n_550n_550nh|\
tew-673gru)
	migrate_switch_name "rtl8366s" "switch0"
	;;

tl-wr1043nd)
	migrate_switch_name "rtl8366rb" "switch0"
	;;

esac

exit 0
