6rd: Make don't fragment bit (df) a configurable variable

Make the IPv4 "do not fragment" bit a configurable variable for the 6rd
tunnel interface as the bit should not be set in the encapsulating IPv4
header according to RFC3056.
On top the config variable allows to enable/disable path mtu discovery
for tunnel interfaces.
Config variable can be passed to netifd as tunnel config support is
already present for the "do not fragment" bit.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 39370
This commit is contained in:
Steven Barth 2014-01-23 10:59:04 +00:00
parent bbe086873a
commit e1c5111997

View file

@ -14,8 +14,8 @@ proto_6rd_setup() {
local iface="$2" local iface="$2"
local link="6rd-$cfg" local link="6rd-$cfg"
local mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting local mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
json_get_vars mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting json_get_vars mtu df ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
[ -z "$ip6prefix" -o -z "$peeraddr" ] && { [ -z "$ip6prefix" -o -z "$peeraddr" ] && {
proto_notify_error "$cfg" "MISSING_ADDRESS" proto_notify_error "$cfg" "MISSING_ADDRESS"
@ -60,6 +60,7 @@ proto_6rd_setup() {
proto_add_tunnel proto_add_tunnel
json_add_string mode sit json_add_string mode sit
json_add_int mtu "${mtu:-1280}" json_add_int mtu "${mtu:-1280}"
json_add_boolean df "${df:-1}"
json_add_int ttl "${ttl:-64}" json_add_int ttl "${ttl:-64}"
json_add_string local "$ipaddr" json_add_string local "$ipaddr"
json_add_string 6rd-prefix "$ip6prefix/$ip6prefixlen" json_add_string 6rd-prefix "$ip6prefix/$ip6prefixlen"
@ -79,6 +80,7 @@ proto_6rd_init_config() {
available=1 available=1
proto_config_add_int "mtu" proto_config_add_int "mtu"
proto_config_add_boolean "df"
proto_config_add_int "ttl" proto_config_add_int "ttl"
proto_config_add_string "ipaddr" proto_config_add_string "ipaddr"
proto_config_add_string "peeraddr" proto_config_add_string "peeraddr"