gre: add ipv6 parameter to gre interfaces

This commit is contained in:
CN_SZTL 2019-12-07 17:35:24 +08:00
parent 342f58b3a0
commit 5a95b72b59
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
2 changed files with 16 additions and 8 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gre
PKG_VERSION:=1
PKG_RELEASE:=9
PKG_RELEASE:=12
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
@ -24,6 +24,7 @@ define Package/gre
TITLE:=Generic Routing Encapsulation config support
DEPENDS:=+kmod-gre +IPV6:kmod-gre6 +resolveip
PROVIDES:=grev4 grev6
PKGARCH:=all
endef
define Package/gre/description

View File

@ -13,10 +13,9 @@ gre_generic_setup() {
local local="$3"
local remote="$4"
local link="$5"
local mtu ttl tos zone ikey okey icsum ocsum iseqno oseqno multicast
json_get_vars mtu ttl tos zone ikey okey icsum ocsum iseqno oseqno multicast
local mtu ipv6 ttl tos zone ikey okey icsum ocsum iseqno oseqno multicast
json_get_vars mtu ipv6 ttl tos zone ikey okey icsum ocsum iseqno oseqno multicast
[ -z "$zone" ] && zone="wan"
[ -z "$multicast" ] && multicast=1
proto_init_update "$link" 1
@ -24,6 +23,7 @@ gre_generic_setup() {
proto_add_tunnel
json_add_string mode "$mode"
json_add_int mtu "${mtu:-1280}"
json_add_boolean ipv6 "${ipv6:-1}"
[ -n "$df" ] && json_add_boolean df "$df"
[ -n "$ttl" ] && json_add_int ttl "$ttl"
[ -n "$tos" ] && json_add_string tos "$tos"
@ -57,7 +57,7 @@ gre_setup() {
local remoteip
local ipaddr peeraddr
json_get_vars df ipaddr peeraddr tunlink
json_get_vars df ipaddr peeraddr tunlink nohostroute
[ -z "$peeraddr" ] && {
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS"
@ -77,7 +77,9 @@ gre_setup() {
break
done
( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
if [ "${nohostroute}" != "1" ]; then
( proto_add_host_dependency "$cfg" "$peeraddr" "$tunlink" )
fi
[ -z "$ipaddr" ] && {
local wanif="$tunlink"
@ -134,7 +136,7 @@ grev6_setup() {
local remoteip6
local ip6addr peer6addr weakif
json_get_vars ip6addr peer6addr tunlink weakif encaplimit
json_get_vars ip6addr peer6addr tunlink weakif encaplimit nohostroute
[ -z "$peer6addr" ] && {
proto_notify_error "$cfg" "MISSING_PEER_ADDRESS"
@ -154,7 +156,9 @@ grev6_setup() {
break
done
( proto_add_host_dependency "$cfg" "$peer6addr" "$tunlink" )
if [ "${nohostroute}" != "1" ]; then
( proto_add_host_dependency "$cfg" "$peer6addr" "$tunlink" )
fi
[ -z "$ip6addr" ] && {
local wanif="$tunlink"
@ -245,6 +249,7 @@ gre_generic_init_config() {
available=1
proto_config_add_int "mtu"
proto_config_add_boolean "ipv6"
proto_config_add_int "ttl"
proto_config_add_string "tos"
proto_config_add_string "tunlink"
@ -263,6 +268,7 @@ proto_gre_init_config() {
proto_config_add_string "ipaddr"
proto_config_add_string "peeraddr"
proto_config_add_boolean "df"
proto_config_add_boolean "nohostroute"
}
proto_gretap_init_config() {
@ -276,6 +282,7 @@ proto_grev6_init_config() {
proto_config_add_string "peer6addr"
proto_config_add_string "weakif"
proto_config_add_string "encaplimit"
proto_config_add_boolean "nohostroute"
}
proto_grev6tap_init_config() {