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

SVN-Revision: 32428
This commit is contained in:
Jo-Philipp Wich 2012-06-18 21:40:34 +00:00
parent 992d685ea4
commit 4dc3b124e9
6 changed files with 9 additions and 80 deletions

View file

@ -37,8 +37,6 @@ endef
define Package/6in4/install define Package/6in4/install
$(INSTALL_DIR) $(1)/lib/netifd/proto $(INSTALL_DIR) $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/6in4.sh $(1)/lib/netifd/proto/6in4.sh $(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 endef
$(eval $(call BuildPackage,6in4)) $(eval $(call BuildPackage,6in4))

View file

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

View file

@ -9,13 +9,6 @@
init_proto "$@" init_proto "$@"
} }
tun_error() {
local cfg="$1"; shift;
[ -n "$1" ] && proto_notify_error "$cfg" "$@"
proto_block_restart "$cfg"
}
proto_6in4_setup() { proto_6in4_setup() {
local cfg="$1" local cfg="$1"
local iface="$2" local iface="$2"
@ -25,14 +18,17 @@ proto_6in4_setup() {
json_get_vars mtu ttl ipaddr peeraddr ip6addr tunnelid username password json_get_vars mtu ttl ipaddr peeraddr ip6addr tunnelid username password
[ -z "$ip6addr" -o -z "$peeraddr" ] && { [ -z "$ip6addr" -o -z "$peeraddr" ] && {
tun_error "$cfg" "MISSING_ADDRESS" proto_notify_error "$cfg" "MISSING_ADDRESS"
proto_block_restart "$cfg"
return return
} }
( proto_add_host_dependency "$cfg" 0.0.0.0 )
[ -z "$ipaddr" ] && { [ -z "$ipaddr" ] && {
local wanif local wanif
if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then 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 return
fi fi
} }

View file

@ -37,8 +37,6 @@ endef
define Package/6to4/install define Package/6to4/install
$(INSTALL_DIR) $(1)/lib/netifd/proto $(INSTALL_DIR) $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/6to4.sh $(1)/lib/netifd/proto/6to4.sh $(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 endef
$(eval $(call BuildPackage,6to4)) $(eval $(call BuildPackage,6to4))

View file

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

View file

@ -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() { proto_6to4_setup() {
local cfg="$1" local cfg="$1"
local iface="$2" local iface="$2"
@ -113,16 +106,18 @@ proto_6to4_setup() {
local mtu ttl ipaddr adv_subnet adv_interface adv_valid_lifetime adv_preferred_lifetime 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 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" ] && { [ -z "$ipaddr" ] && {
local wanif local wanif
if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then 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 return
fi fi
} }
test_6to4_rfc1918 "$ipaddr" && { test_6to4_rfc1918 "$ipaddr" && {
tun_error "$cfg" "INVALID_LOCAL_ADDRESS" proto_notify_error "$cfg" "INVALID_LOCAL_ADDRESS"
return return
} }