summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-18 21:40:34 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-06-18 21:40:34 +0000
commit065032e9b889a4cec72ee1cf17f8a5c208dfebb1 (patch)
tree3b2d8f3e829a4b29dff42a86d798a7f40ae7a992
parentf1ad97efd149b4f6d8f41efe930ba89a799f416d (diff)
[package] 6in4, 6to4: further simplify protocol backends
- use new default route dependencies to trigger bringup - remove old hotplug scripts git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32428 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/6in4/Makefile2
-rw-r--r--package/6in4/files/6in4.hotplug29
-rwxr-xr-xpackage/6in4/files/6in4.sh14
-rw-r--r--package/6to4/Makefile2
-rw-r--r--package/6to4/files/6to4.hotplug29
-rwxr-xr-xpackage/6to4/files/6to4.sh13
6 files changed, 9 insertions, 80 deletions
diff --git a/package/6in4/Makefile b/package/6in4/Makefile
index d91ae84a6..fdab29086 100644
--- a/package/6in4/Makefile
+++ b/package/6in4/Makefile
@@ -37,8 +37,6 @@ endef
define Package/6in4/install
$(INSTALL_DIR) $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/6in4.sh $(1)/lib/netifd/proto/6in4.sh
- $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
- $(INSTALL_DATA) ./files/6in4.hotplug $(1)/etc/hotplug.d/iface/90-6in4
endef
$(eval $(call BuildPackage,6in4))
diff --git a/package/6in4/files/6in4.hotplug b/package/6in4/files/6in4.hotplug
deleted file mode 100644
index e94179828..000000000
--- a/package/6in4/files/6in4.hotplug
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-if [ "$ACTION" = ifup ]; then
- . /lib/functions.sh
-
- INCLUDE_ONLY=1
- . /lib/netifd/proto/6in4.sh
-
- include /lib/network
- scan_interfaces
-
- update_tunnel() {
- local cfg="$1"
-
- local proto
- config_get proto "$cfg" proto
- [ "$proto" = 6in4 ] || return 0
-
- local wandev
- config_get wandev "$cfg" wan_device "$(find_6in4_wanif)"
- [ "$wandev" = "$DEVICE" ] || return 0
-
- local wanip=$(find_6in4_wanip "$wandev")
-
- [ -n "$wanip" ] && ifup "$cfg"
- }
-
- config_foreach update_tunnel interface
-fi
diff --git a/package/6in4/files/6in4.sh b/package/6in4/files/6in4.sh
index 747662c08..71bc68940 100755
--- a/package/6in4/files/6in4.sh
+++ b/package/6in4/files/6in4.sh
@@ -9,13 +9,6 @@
init_proto "$@"
}
-tun_error() {
- local cfg="$1"; shift;
-
- [ -n "$1" ] && proto_notify_error "$cfg" "$@"
- proto_block_restart "$cfg"
-}
-
proto_6in4_setup() {
local cfg="$1"
local iface="$2"
@@ -25,14 +18,17 @@ proto_6in4_setup() {
json_get_vars mtu ttl ipaddr peeraddr ip6addr tunnelid username password
[ -z "$ip6addr" -o -z "$peeraddr" ] && {
- tun_error "$cfg" "MISSING_ADDRESS"
+ proto_notify_error "$cfg" "MISSING_ADDRESS"
+ proto_block_restart "$cfg"
return
}
+ ( proto_add_host_dependency "$cfg" 0.0.0.0 )
+
[ -z "$ipaddr" ] && {
local wanif
if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then
- tun_error "$cfg" "NO_WAN_LINK"
+ proto_notify_error "$cfg" "NO_WAN_LINK"
return
fi
}
diff --git a/package/6to4/Makefile b/package/6to4/Makefile
index 441f05de3..740697f75 100644
--- a/package/6to4/Makefile
+++ b/package/6to4/Makefile
@@ -37,8 +37,6 @@ endef
define Package/6to4/install
$(INSTALL_DIR) $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/6to4.sh $(1)/lib/netifd/proto/6to4.sh
- $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
- $(INSTALL_DATA) ./files/6to4.hotplug $(1)/etc/hotplug.d/iface/91-6to4
endef
$(eval $(call BuildPackage,6to4))
diff --git a/package/6to4/files/6to4.hotplug b/package/6to4/files/6to4.hotplug
deleted file mode 100644
index 48ac9c1b8..000000000
--- a/package/6to4/files/6to4.hotplug
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-if [ "$ACTION" = ifup ]; then
- . /lib/functions.sh
-
- INCLUDE_ONLY=1
- . /lib/netifd/proto/6to4.sh
-
- include /lib/network
- scan_interfaces
-
- update_tunnel() {
- local cfg="$1"
-
- local proto
- config_get proto "$cfg" proto
- [ "$proto" = 6to4 ] || return 0
-
- local wandev
- config_get wandev "$cfg" wan_device "$(find_6to4_wanif)"
- [ "$wandev" = "$DEVICE" ] || return 0
-
- local wanip=$(find_6to4_wanip "$wandev")
-
- [ -n "$wanip" ] && ifup "$cfg"
- }
-
- config_foreach update_tunnel interface
-fi
diff --git a/package/6to4/files/6to4.sh b/package/6to4/files/6to4.sh
index 5a1ad4759..10abd9a26 100755
--- a/package/6to4/files/6to4.sh
+++ b/package/6to4/files/6to4.sh
@@ -98,13 +98,6 @@ set_6to4_radvd_prefix() {
}
}
-tun_error() {
- local cfg="$1"; shift;
-
- [ -n "$1" ] && proto_notify_error "$cfg" "$@"
- proto_block_restart "$cfg"
-}
-
proto_6to4_setup() {
local cfg="$1"
local iface="$2"
@@ -113,16 +106,18 @@ proto_6to4_setup() {
local mtu ttl ipaddr adv_subnet adv_interface adv_valid_lifetime adv_preferred_lifetime
json_get_vars mtu ttl ipaddr adv_subnet adv_interface adv_valid_lifetime adv_preferred_lifetime
+ ( proto_add_host_dependency "$cfg" 0.0.0.0 )
+
[ -z "$ipaddr" ] && {
local wanif
if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then
- tun_error "$cfg" "NO_WAN_LINK"
+ proto_notify_error "$cfg" "NO_WAN_LINK"
return
fi
}
test_6to4_rfc1918 "$ipaddr" && {
- tun_error "$cfg" "INVALID_LOCAL_ADDRESS"
+ proto_notify_error "$cfg" "INVALID_LOCAL_ADDRESS"
return
}