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 <dedeckeh@gmail.com>
This commit is contained in:
Hans Dedecker 2018-05-29 15:18:16 +02:00
parent 4fdc6ca31b
commit a3372953e9
2 changed files with 7 additions and 3 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ds-lite PKG_NAME:=ds-lite
PKG_VERSION:=7 PKG_VERSION:=7
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

8
package/network/ipv6/ds-lite/files/dslite.sh Executable file → Normal file
View file

@ -15,8 +15,8 @@ proto_dslite_setup() {
local link="ds-$cfg" local link="ds-$cfg"
local remoteip6 local remoteip6
local 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 json_get_vars mtu ttl peeraddr ip6addr tunlink zone weakif encaplimit
[ -z "$peeraddr" ] && { [ -z "$peeraddr" ] && {
proto_notify_error "$cfg" "MISSING_ADDRESS" proto_notify_error "$cfg" "MISSING_ADDRESS"
@ -68,6 +68,9 @@ proto_dslite_setup() {
json_add_string local "$ip6addr" json_add_string local "$ip6addr"
json_add_string remote "$peeraddr" json_add_string remote "$peeraddr"
[ -n "$tunlink" ] && json_add_string link "$tunlink" [ -n "$tunlink" ] && json_add_string link "$tunlink"
json_add_object "data"
json_add_string encaplimit "${encaplimit:-4}"
json_close_object
proto_close_tunnel proto_close_tunnel
proto_add_data proto_add_data
@ -97,6 +100,7 @@ proto_dslite_init_config() {
proto_config_add_string "tunlink" proto_config_add_string "tunlink"
proto_config_add_int "mtu" proto_config_add_int "mtu"
proto_config_add_int "ttl" proto_config_add_int "ttl"
proto_config_add_string "encaplimit"
proto_config_add_string "zone" proto_config_add_string "zone"
proto_config_add_string "weakif" proto_config_add_string "weakif"
} }