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))
+++ /dev/null
-#!/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
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"
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
}
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))
+++ /dev/null
-#!/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
}
}
-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"
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
}