Parcourir la source

6in4, 6to4: further simplify protocol backends - use new default route dependencies to trigger bringup - remove old hotplug scripts

SVN-Revision: 32428
Jo-Philipp Wich il y a 13 ans
Parent
commit
4dc3b124e9

+ 0 - 2
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))

+ 0 - 29
package/6in4/files/6in4.hotplug

@@ -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

+ 5 - 9
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
 	}

+ 0 - 2
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))

+ 0 - 29
package/6to4/files/6to4.hotplug

@@ -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

+ 4 - 9
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
 	}