map: 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 map-e 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:
parent
082cd951bb
commit
e4577d2e68
2 changed files with 10 additions and 8 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=map
|
||||
PKG_VERSION:=4
|
||||
PKG_RELEASE:=10
|
||||
PKG_RELEASE:=11
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
|
|
@ -28,9 +28,9 @@ proto_map_setup() {
|
|||
# uncomment for legacy MAP0 mode
|
||||
#export LEGACY=1
|
||||
|
||||
local type mtu ttl tunlink zone
|
||||
local type mtu ttl tunlink zone encaplimit
|
||||
local rule ipaddr ip4prefixlen ip6prefix ip6prefixlen peeraddr ealen psidlen psid offset
|
||||
json_get_vars type mtu ttl tunlink zone
|
||||
json_get_vars type mtu ttl tunlink zone encaplimit
|
||||
json_get_vars rule ipaddr ip4prefixlen ip6prefix ip6prefixlen peeraddr ealen psidlen psid offset
|
||||
|
||||
[ -z "$zone" ] && zone="wan"
|
||||
|
@ -84,9 +84,9 @@ proto_map_setup() {
|
|||
json_add_string local $(eval "echo \$RULE_${k}_IPV6ADDR")
|
||||
json_add_string remote $(eval "echo \$RULE_${k}_BR")
|
||||
json_add_string link $(eval "echo \$RULE_${k}_PD6IFACE")
|
||||
|
||||
if [ "$type" = "map-e" ]; then
|
||||
json_add_object "data"
|
||||
json_add_string encaplimit "${encaplimit:-4}"
|
||||
if [ "$type" = "map-e" ]; then
|
||||
json_add_array "fmrs"
|
||||
for i in $(seq $RULE_COUNT); do
|
||||
[ "$(eval "echo \$RULE_${i}_FMR")" != 1 ] && continue
|
||||
|
@ -98,8 +98,9 @@ proto_map_setup() {
|
|||
json_close_object
|
||||
done
|
||||
json_close_array
|
||||
json_close_object
|
||||
fi
|
||||
json_close_object
|
||||
|
||||
|
||||
proto_close_tunnel
|
||||
elif [ "$type" = "map-t" -a -f "/proc/net/nat46/control" ]; then
|
||||
|
@ -229,6 +230,7 @@ proto_map_init_config() {
|
|||
proto_config_add_int "mtu"
|
||||
proto_config_add_int "ttl"
|
||||
proto_config_add_string "zone"
|
||||
proto_config_add_string "encaplimit"
|
||||
}
|
||||
|
||||
[ -n "$INCLUDE_ONLY" ] || {
|
||||
|
|
Loading…
Reference in a new issue