summaryrefslogtreecommitdiffstats
path: root/package/6in4/files/6in4.hotplug
diff options
context:
space:
mode:
Diffstat (limited to 'package/6in4/files/6in4.hotplug')
-rw-r--r--package/6in4/files/6in4.hotplug6
1 files changed, 5 insertions, 1 deletions
diff --git a/package/6in4/files/6in4.hotplug b/package/6in4/files/6in4.hotplug
index 9499296d9..49667a815 100644
--- a/package/6in4/files/6in4.hotplug
+++ b/package/6in4/files/6in4.hotplug
@@ -29,11 +29,12 @@ if [ "$ACTION" = ifup ]; then
local password
config_get password "$cfg" password
+ uci_set_state network "$cfg" ipaddr "$wanip"
+
[ -n "$tunnelid" ] && [ -n "$username" ] && [ -n "$password" ] && {
[ "${#password}" == 32 -a -z "${password//[a-f0-9]/}" ] || {
password="$(echo -n "$password" | md5sum)"; password="${password%% *}"
}
- uci_set_state network "$cfg" ipaddr "$wanip"
(
local url="http://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&user_id=$username&pass=$password&tunnel_id=$tunnelid"
@@ -51,6 +52,9 @@ if [ "$ACTION" = ifup ]; then
}
done
)&
+ } || {
+ logger -t 6in4-update "Re-establishing tunnel due to change on $INTERFACE ($DEVICE)"
+ ifup "$cfg" &
}
}
}