#!/bin/sh

. /lib/functions.sh

CONFIG="tswconfig"

migrate_to_advert() {
	config_get speed "$1" speed "auto"
	config_get duplex "$1" duplex "full"

	case "$duplex" in
	full) multiplier=2 ;;
	half) multiplier=1 ;;
	esac

	case "$speed" in
	auto) value=63; multiplier= ;;
	1000) value=16 ;;
	100) value=4 ;;
	10) value=1 ;;
	esac

	[ -z "$multiplier" ] || value=$((value * multiplier))
	uci_set "$CONFIG" "$1" "advert" "$(printf '0x%02X' "$value")"

	uci_set "$CONFIG" "$1" "autoneg" "1"
	uci_set "$CONFIG" "$1" "speed" ""
	uci_set "$CONFIG" "$1" "duplex" ""
}

config_load "$CONFIG"
config_foreach migrate_to_advert switch_port 
uci_commit "$CONFIG"
exit 0
