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:
		| @@ -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
									
								
							
							
						
						
									
										8
									
								
								package/network/ipv6/ds-lite/files/dslite.sh
									
									
									
									
									
										
										
										Executable file → Normal 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" | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Hans Dedecker
					Hans Dedecker