aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/etc
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-02-11 21:41:16 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-02-11 21:41:16 +0000
commit00a47a6c78f707448066702e2c83dd586ff7fa3b (patch)
tree799c6c43e91722ebdbbd8cafcd42be6b46d17e6c /target/linux/ar71xx/base-files/etc
parent091830492538a801c97b5eac2d14b0ef1b2c4c9c (diff)
downloadupstream-00a47a6c78f707448066702e2c83dd586ff7fa3b.tar.gz
upstream-00a47a6c78f707448066702e2c83dd586ff7fa3b.tar.bz2
upstream-00a47a6c78f707448066702e2c83dd586ff7fa3b.zip
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/ar71xx/base-files/etc')
-rwxr-xr-xtarget/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration106
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