6rd: Make don't fragment bit (df) a configurable variable
authorSteven Barth <cyrus@openwrt.org>
Thu, 23 Jan 2014 10:59:04 +0000 (10:59 +0000)
committerSteven Barth <cyrus@openwrt.org>
Thu, 23 Jan 2014 10:59:04 +0000 (10:59 +0000)
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

package/network/ipv6/6rd/files/6rd.sh

index be6d5368453924214d0622e1ee9ef878abf973c0..e80729c341291051a133c0e55d1054eae1d4f112 100644 (file)
@@ -14,8 +14,8 @@ proto_6rd_setup() {
        local iface="$2"
        local link="6rd-$cfg"
 
-       local mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
-       json_get_vars mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen tunlink sourcerouting
+       local mtu df 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" ] && {
                proto_notify_error "$cfg" "MISSING_ADDRESS"
@@ -60,6 +60,7 @@ proto_6rd_setup() {
        proto_add_tunnel
        json_add_string mode sit
        json_add_int mtu "${mtu:-1280}"
+       json_add_boolean df "${df:-1}"
        json_add_int ttl "${ttl:-64}"
        json_add_string local "$ipaddr"
        json_add_string 6rd-prefix "$ip6prefix/$ip6prefixlen"
@@ -79,6 +80,7 @@ proto_6rd_init_config() {
        available=1
 
        proto_config_add_int "mtu"
+       proto_config_add_boolean "df"
        proto_config_add_int "ttl"
        proto_config_add_string "ipaddr"
        proto_config_add_string "peeraddr"