summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-07-03 21:40:59 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-07-03 21:40:59 +0000
commit94678961726ff2b543338bf74234c3a5600e057b (patch)
treedfa6fa9269d5aa8f7cfcf9be80c98dd32470727f /target/linux/brcm47xx/base-files
parent30a900cab8c3184f64eb7dfce70cc5e053d1873f (diff)
downloadmaster-31e0f0ae-94678961726ff2b543338bf74234c3a5600e057b.tar.gz
master-31e0f0ae-94678961726ff2b543338bf74234c3a5600e057b.tar.bz2
master-31e0f0ae-94678961726ff2b543338bf74234c3a5600e057b.zip
brcm47xx: migrate basic network settings from old releases
Old OpenWrt releases were using network configs that are not valid anymore. They were specifying ports tagging in a different way (or were not tagging CPU at all) and were using VID 0 which is a reserved value. Modifying network configuration to apply all needed changes would be pretty tricky. Script /etc/init.d/netconfig that generates new config is quite complex itself. So instead let's save the most important settings, regenerate config from the scratch and restore values. This should work for 99% of users. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 41500
Diffstat (limited to 'target/linux/brcm47xx/base-files')
-rw-r--r--target/linux/brcm47xx/base-files/etc/uci-defaults/03_network_migration29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/base-files/etc/uci-defaults/03_network_migration b/target/linux/brcm47xx/base-files/etc/uci-defaults/03_network_migration
new file mode 100644
index 0000000000..cef5add106
--- /dev/null
+++ b/target/linux/brcm47xx/base-files/etc/uci-defaults/03_network_migration
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+
+uci show network | grep "\.vlan=0"
+[ $? -ne 0 ] && exit 0
+
+logger -t network "network config is invalid, creating new one"
+
+local lan_proto="$(uci -q get network.lan.proto)"
+local lan_ipaddr="$(uci -q get network.lan.ipaddr)"
+local lan_netmask="$(uci -q get network.lan.netmask)"
+local wan_proto="$(uci -q get network.wan.proto)"
+local wan_ipaddr="$(uci -q get network.wan.ipaddr)"
+local wan_netmask="$(uci -q get network.wan.netmask)"
+
+rm /etc/config/network
+/etc/init.d/netconfig start
+
+uci set network.lan.proto=$lan_proto
+uci set network.lan.ipaddr=$lan_ipaddr
+uci set network.lan.netmask=$lan_netmask
+uci set network.wan.proto=$wan_proto
+uci set network.wan.ipaddr=$wan_ipaddr
+uci set network.wan.netmask=$wan_netmask
+uci commit network
+
+exit 0