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
|
define Package/6in4
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
|
DEPENDS:=@IPV6 +kmod-sit +uclient-fetch +resolveip
|
||||||
TITLE:=IPv6-in-IPv4 configuration support
|
TITLE:=IPv6-in-IPv4 configuration support
|
||||||
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||||
PKGARCH:=all
|
PKGARCH:=all
|
||||||
|
@ -44,6 +44,7 @@ proto_6in4_setup() {
|
|||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
local link="6in4-$cfg"
|
local link="6in4-$cfg"
|
||||||
|
local remoteip
|
||||||
|
|
||||||
local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey device
|
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
|
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"
|
[ -n "$device" ] && link="$device"
|
||||||
|
|
||||||
[ -z "$peeraddr" ] && {
|
[ -z "$peeraddr" ] && {
|
||||||
proto_notify_error "$cfg" "MISSING_ADDRESS"
|
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS"
|
||||||
proto_block_restart "$cfg"
|
proto_block_restart "$cfg"
|
||||||
return
|
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" )
|
( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
|
||||||
|
|
||||||
[ -z "$ipaddr" ] && {
|
[ -z "$ipaddr" ] && {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user