ds-lite: make tunnel encapsulation limit support configurable (FS#1501)
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 29 May 2018 13:18:16 +0000 (15:18 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Mon, 4 Jun 2018 15:04:45 +0000 (17:04 +0200)
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 <dedeckeh@gmail.com>
package/network/ipv6/ds-lite/Makefile
package/network/ipv6/ds-lite/files/dslite.sh [changed mode: 0755->0644]

index 58e7156b95a312039f583bec73b415bcaa685822..4393d35877fb11c27dad1abf6b2c04ea491301eb 100644 (file)
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
index 2485a42..7bd3f2e
@@ -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"
 }