|
|
@ -44,16 +44,29 @@ gre_generic_setup() { |
|
|
|
gre_setup() { |
|
|
|
gre_setup() { |
|
|
|
local cfg="$1" |
|
|
|
local cfg="$1" |
|
|
|
local mode="$2" |
|
|
|
local mode="$2" |
|
|
|
|
|
|
|
local remoteip |
|
|
|
|
|
|
|
|
|
|
|
local ipaddr peeraddr |
|
|
|
local ipaddr peeraddr |
|
|
|
json_get_vars df ipaddr peeraddr tunlink |
|
|
|
json_get_vars df ipaddr peeraddr tunlink |
|
|
|
|
|
|
|
|
|
|
|
[ -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" |
|
|
|
exit |
|
|
|
exit |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
remoteip=$(resolveip -t 10 -4 "$peeraddr") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$remoteip" ]; then |
|
|
|
|
|
|
|
proto_notify_error "$cfg" "PEER_RESOLVE_FAIL" |
|
|
|
|
|
|
|
exit |
|
|
|
|
|
|
|
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" ] && { |
|
|
@ -101,16 +114,29 @@ proto_gretap_setup() { |
|
|
|
grev6_setup() { |
|
|
|
grev6_setup() { |
|
|
|
local cfg="$1" |
|
|
|
local cfg="$1" |
|
|
|
local mode="$2" |
|
|
|
local mode="$2" |
|
|
|
|
|
|
|
local remoteip6 |
|
|
|
|
|
|
|
|
|
|
|
local ip6addr peer6addr weakif |
|
|
|
local ip6addr peer6addr weakif |
|
|
|
json_get_vars ip6addr peer6addr tunlink weakif |
|
|
|
json_get_vars ip6addr peer6addr tunlink weakif |
|
|
|
|
|
|
|
|
|
|
|
[ -z "$peer6addr" ] && { |
|
|
|
[ -z "$peer6addr" ] && { |
|
|
|
proto_notify_error "$cfg" "MISSING_ADDRESS" |
|
|
|
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS" |
|
|
|
proto_block_restart "$cfg" |
|
|
|
proto_block_restart "$cfg" |
|
|
|
exit |
|
|
|
exit |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
remoteip6=$(resolveip -t 10 -6 "$peer6addr") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$remoteip6" ]; then |
|
|
|
|
|
|
|
proto_notify_error "$cfg" "PEER_RESOLVE_FAIL" |
|
|
|
|
|
|
|
exit |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ip6 in $remoteip6; do |
|
|
|
|
|
|
|
peer6addr=$ip6 |
|
|
|
|
|
|
|
break |
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
( proto_add_host_dependency "$cfg" "$peer6addr" "$tunlink" ) |
|
|
|
( proto_add_host_dependency "$cfg" "$peer6addr" "$tunlink" ) |
|
|
|
|
|
|
|
|
|
|
|
[ -z "$ip6addr" ] && { |
|
|
|
[ -z "$ip6addr" ] && { |
|
|
|