Przeglądaj źródła

6in4: add 'nohostroute' option

Same as 'nohostroute' option for GRE tunnels (commit 0f8b9addfc)
and IPIP tunnels (commit 46ce629fe0)

Signed-off-by: Aleksandr V. Piskunov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/15961
Signed-off-by: Hauke Mehrtens <[email protected]>
Aleksandr V. Piskunov 1 rok temu
rodzic
commit
a47bf906cd

+ 1 - 1
package/network/ipv6/6in4/Makefile

@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6in4
-PKG_RELEASE:=28
+PKG_RELEASE:=29
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk

+ 6 - 3
package/network/ipv6/6in4/files/6in4.sh

@@ -46,8 +46,8 @@ proto_6in4_setup() {
 	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
+	local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey device nohostroute
+	json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey device nohostroute
 	json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes
 
 	[ -n "$device" ] && link="$device"
@@ -70,7 +70,9 @@ proto_6in4_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"
@@ -172,6 +174,7 @@ proto_6in4_init_config() {
 	proto_config_add_int "ttl"
 	proto_config_add_string "tos"
 	proto_config_add_string "device"
+	proto_config_add_boolean "nohostroute"
 }
 
 [ -n "$INCLUDE_ONLY" ] || {