diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-11 21:41:16 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-11 21:41:16 +0000 |
commit | 534b6133030623a5261aa947979f71d582431f81 (patch) | |
tree | 799c6c43e91722ebdbbd8cafcd42be6b46d17e6c /target/linux | |
parent | ad1503d4c1643e7bdd762f1372a070ee43c7aee8 (diff) |
ar71xx: add script for automatic switch name migration
Thanks to Jonas Gorski for the help.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35567 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rwxr-xr-x | target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration new file mode 100755 index 0000000000..718a924f19 --- /dev/null +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration @@ -0,0 +1,106 @@ +#!/bin/sh +# +# Copyright (C) 2013 OpenWrt.org +# + +SWITCH_NAME_CHANGED= + +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 + + . /lib/functions.sh + + 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 + } +} + +. /lib/ar71xx.sh + +board=$(ar71xx_board_name) + +case "$board" in +dir-825-c1|\ +wzr-hp-g300nh2|\ +pb92|\ +ap113|\ +tl-wdr4300|\ +tl-wr1041n-v2|\ +wrt160nl|\ +ap121|\ +ap121-mini|\ +ap96|\ +airrouter|\ +dir-600-a1|\ +dir-615-c1|\ +dir-615-e4|\ +ja76pf|\ +rb-750|\ +rb-751|\ +tew-632brp|\ +tew-712br|\ +tl-mr3220|\ +tl-mr3220-v2 |\ +tl-mr3420|\ +tl-wr741nd|\ +tl-wr741nd-v4|\ +tl-wr841n-v7|\ +whr-g301n|\ +whr-hp-g300n|\ +whr-hp-gn|\ +wzr-hp-ag300h|\ +wzr-hp-g450h|\ +ew-dorin|\ +ew-dorin-router) + migrate_switch_name "eth0" "switch0" + ;; + +rb-450) + migrate_switch_name "eth1" "switch0" + ;; + +db120 |\ +rb-2011l | \ +rb-2011uas-2hnd) + migrate_switch_name "eth0" "switch0" + migrate_switch_name "eth1" "switch1" + ;; + +dir-825-b1|\ +tew-673gru|\ +nbg460n_550n_550nh) + migrate_switch_name "rtl8366s" "switch0" + ;; + +tl-wr1043nd) + migrate_switch_name "rtl8366rb" "switch0" + ;; + +esac + +exit 0 |