6in4: add tunlink option support

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 47189
lede-17.01
Steven Barth 2015-10-15 08:56:59 +00:00
parent ee480b694f
commit 8e9196d1cb
2 changed files with 14 additions and 7 deletions

View File

@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=6in4 PKG_NAME:=6in4
PKG_VERSION:=21 PKG_VERSION:=22
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View File

@ -27,8 +27,8 @@ proto_6in4_setup() {
local iface="$2" local iface="$2"
local link="6in4-$cfg" local link="6in4-$cfg"
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunlink tunnelid username password updatekey
json_get_vars mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunnelid username password updatekey json_get_vars mtu ttl tos ipaddr peeraddr ip6addr ip6prefix tunlink tunnelid username password updatekey
[ -z "$peeraddr" ] && { [ -z "$peeraddr" ] && {
proto_notify_error "$cfg" "MISSING_ADDRESS" proto_notify_error "$cfg" "MISSING_ADDRESS"
@ -36,11 +36,16 @@ proto_6in4_setup() {
return return
} }
( proto_add_host_dependency "$cfg" "$peeraddr" ) ( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
[ -z "$ipaddr" ] && { [ -z "$ipaddr" ] && {
local wanif local wanif="$tunlink"
if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then if [ -z "$wanif" ] && ! network_find_wan wanif; then
proto_notify_error "$cfg" "NO_WAN_LINK"
return
fi
if ! network_get_ipaddr ipaddr "$wanif"; then
proto_notify_error "$cfg" "NO_WAN_LINK" proto_notify_error "$cfg" "NO_WAN_LINK"
return return
fi fi
@ -68,6 +73,7 @@ proto_6in4_setup() {
[ -n "$tos" ] && json_add_string tos "$tos" [ -n "$tos" ] && json_add_string tos "$tos"
json_add_string local "$ipaddr" json_add_string local "$ipaddr"
json_add_string remote "$peeraddr" json_add_string remote "$peeraddr"
[ -n "$tunlink" ] && json_add_string link "$tunlink"
proto_close_tunnel proto_close_tunnel
proto_send_update "$cfg" proto_send_update "$cfg"
@ -135,6 +141,7 @@ proto_6in4_init_config() {
proto_config_add_string "ip6addr" proto_config_add_string "ip6addr"
proto_config_add_string "ip6prefix" proto_config_add_string "ip6prefix"
proto_config_add_string "peeraddr" proto_config_add_string "peeraddr"
proto_config_add_string "tunlink"
proto_config_add_string "tunnelid" proto_config_add_string "tunnelid"
proto_config_add_string "username" proto_config_add_string "username"
proto_config_add_string "password" proto_config_add_string "password"