aboutsummaryrefslogtreecommitdiffstats
path: root/package/6in4/files/6in4.hotplug
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-03-19 21:10:04 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-03-19 21:10:04 +0000
commit8634e64038b8e37b7f788f7f0e1e496a8a90ee05 (patch)
tree9e6d435125d75e64d7845f2ab45c52549b476bc1 /package/6in4/files/6in4.hotplug
parentb2bd2e8cd53d334c3ad41c7e4ac5c3a23493912e (diff)
downloadmaster-187ad058-8634e64038b8e37b7f788f7f0e1e496a8a90ee05.tar.gz
master-187ad058-8634e64038b8e37b7f788f7f0e1e496a8a90ee05.tar.bz2
master-187ad058-8634e64038b8e37b7f788f7f0e1e496a8a90ee05.zip
6in4: add netifd support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31036 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/6in4/files/6in4.hotplug')
-rw-r--r--package/6in4/files/6in4.hotplug47
1 files changed, 4 insertions, 43 deletions
diff --git a/package/6in4/files/6in4.hotplug b/package/6in4/files/6in4.hotplug
index 3d9def448e..8d78555477 100644
--- a/package/6in4/files/6in4.hotplug
+++ b/package/6in4/files/6in4.hotplug
@@ -3,6 +3,9 @@
if [ "$ACTION" = ifup ]; then
. /etc/functions.sh
+ INCLUDE_ONLY=1
+ . /lib/netifd/proto/6in4.sh
+
include /lib/network
scan_interfaces
@@ -19,49 +22,7 @@ if [ "$ACTION" = ifup ]; then
local wanip=$(find_6in4_wanip "$wandev")
- [ -n "$wanip" ] && {
- lsmod | grep -q ^sit || {
- logger -t 6in4-update "Tunneling driver not loaded yet, deferring action"
- exit 0
- }
-
- local tunnelid
- config_get tunnelid "$cfg" tunnelid
-
- local username
- config_get username "$cfg" username
-
- 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-fA-F0-9]/}" ] || {
- password="$(echo -n "$password" | md5sum)"; password="${password%% *}"
- }
-
- (
- local url="http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&apikey=$username&pass=$password&tid=$tunnelid"
- local try=0
- local max=3
-
- while [ $((++try)) -le $max ]; do
- wget -qO/dev/null "$url" 2>/dev/null && {
- logger -t 6in4-update "Updated tunnel #$tunnelid endpoint to $wanip"
- ifup "$cfg"
- break
- } || {
- logger -t 6in4-update "Try $try/$max failed, retrying"
- sleep 1
- }
- done
- )&
- } || {
- logger -t 6in4-update "Re-establishing tunnel due to change on $INTERFACE ($DEVICE)"
- ifup "$cfg" &
- }
- }
+ [ -n "$wanip" ] && ifup "$cfg"
}
config_foreach update_tunnel interface