From a3372953e99bc2b4da38fdb62c33215ae5623464 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Tue, 29 May 2018 15:18:16 +0200 Subject: [PATCH] ds-lite: make tunnel encapsulation limit support configurable (FS#1501) Be compatible with ISPs which don't support the destination option header containing the tunnel encapsulation limit as reported in FS#1501. Setting the uci parameter encaplimit to ignore; allows to disable the insertion of the destination option header in the ds-lite packets. Otherwise the tunnel encapsulation limit value can be set to a value from 0 till 255 by setting the encaplimit uci parameter accordingly. If no encaplimit value is specified the default value is 4 as before. Signed-off-by: Hans Dedecker --- package/network/ipv6/ds-lite/Makefile | 2 +- package/network/ipv6/ds-lite/files/dslite.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) mode change 100755 => 100644 package/network/ipv6/ds-lite/files/dslite.sh diff --git a/package/network/ipv6/ds-lite/Makefile b/package/network/ipv6/ds-lite/Makefile index 58e7156b95..4393d35877 100644 --- a/package/network/ipv6/ds-lite/Makefile +++ b/package/network/ipv6/ds-lite/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ds-lite PKG_VERSION:=7 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/ipv6/ds-lite/files/dslite.sh b/package/network/ipv6/ds-lite/files/dslite.sh old mode 100755 new mode 100644 index 2485a424dc..7bd3f2e70d --- a/package/network/ipv6/ds-lite/files/dslite.sh +++ b/package/network/ipv6/ds-lite/files/dslite.sh @@ -15,8 +15,8 @@ proto_dslite_setup() { local link="ds-$cfg" local remoteip6 - local mtu ttl peeraddr ip6addr tunlink zone weakif - json_get_vars mtu ttl peeraddr ip6addr tunlink zone weakif + local mtu ttl peeraddr ip6addr tunlink zone weakif encaplimit + json_get_vars mtu ttl peeraddr ip6addr tunlink zone weakif encaplimit [ -z "$peeraddr" ] && { proto_notify_error "$cfg" "MISSING_ADDRESS" @@ -68,6 +68,9 @@ proto_dslite_setup() { json_add_string local "$ip6addr" json_add_string remote "$peeraddr" [ -n "$tunlink" ] && json_add_string link "$tunlink" + json_add_object "data" + json_add_string encaplimit "${encaplimit:-4}" + json_close_object proto_close_tunnel proto_add_data @@ -97,6 +100,7 @@ proto_dslite_init_config() { proto_config_add_string "tunlink" proto_config_add_int "mtu" proto_config_add_int "ttl" + proto_config_add_string "encaplimit" proto_config_add_string "zone" proto_config_add_string "weakif" } -- 2.30.2