6in4: Support fqdn as remote tunnel endpoint
Same as fqdn support in GRE (commit a79f3d11b3) and IPIP (commit 311682905e) Signed-off-by: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15961 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
cdb535ac32
commit
6b5aea7429
@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define Package/6in4
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
|
||||
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch +resolveip
|
||||
TITLE:=IPv6-in-IPv4 configuration support
|
||||
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKGARCH:=all
|
||||
|
@ -44,6 +44,7 @@ proto_6in4_setup() {
|
||||
local cfg="$1"
|
||||
local iface="$2"
|
||||
local link="6in4-$cfg"
|
||||
local remoteip
|
||||
|
||||
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey device
|
||||
json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey device
|
||||
@ -52,11 +53,23 @@ proto_6in4_setup() {
|
||||
[ -n "$device" ] && link="$device"
|
||||
|
||||
[ -z "$peeraddr" ] && {
|
||||
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
||||
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS"
|
||||
proto_block_restart "$cfg"
|
||||
return
|
||||
}
|
||||
|
||||
remoteip=$(resolveip -t 10 -4 "$peeraddr")
|
||||
|
||||
if [ -z "$remoteip" ]; then
|
||||
proto_notify_error "$cfg" "PEER_RESOLVE_FAIL"
|
||||
return
|
||||
fi
|
||||
|
||||
for ip in $remoteip; do
|
||||
peeraddr=$ip
|
||||
break
|
||||
done
|
||||
|
||||
( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
|
||||
|
||||
[ -z "$ipaddr" ] && {
|
||||
|
Loading…
x
Reference in New Issue
Block a user