aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2012-11-14 05:14:02 +0000
committerDavid S. Miller <davem@davemloft.net>2012-11-14 22:02:38 -0500
commitbefe2aa1b2c7b9b7e20e97906f99b58475608867 (patch)
tree1d06510d521ee10652a90815bc5431d7f0c8bb1f
parentipip: always notify change when params are updated (diff)
downloadwireguard-linux-befe2aa1b2c7b9b7e20e97906f99b58475608867.tar.xz
wireguard-linux-befe2aa1b2c7b9b7e20e97906f99b58475608867.zip
ipip/rtnl: add IFLA_IPTUN_PMTUDISC on dump
This parameter was missing in the dump. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/uapi/linux/if_tunnel.h1
-rw-r--r--net/ipv4/ipip.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h
index f5ea6b7b651f..5ab0c8ddc2bc 100644
--- a/include/uapi/linux/if_tunnel.h
+++ b/include/uapi/linux/if_tunnel.h
@@ -48,6 +48,7 @@ enum {
IFLA_IPTUN_FLOWINFO,
IFLA_IPTUN_FLAGS,
IFLA_IPTUN_PROTO,
+ IFLA_IPTUN_PMTUDISC,
__IFLA_IPTUN_MAX,
};
#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c
index 4be88cc98957..1fc0ea4786b9 100644
--- a/net/ipv4/ipip.c
+++ b/net/ipv4/ipip.c
@@ -835,6 +835,8 @@ static size_t ipip_get_size(const struct net_device *dev)
nla_total_size(1) +
/* IFLA_IPTUN_TOS */
nla_total_size(1) +
+ /* IFLA_IPTUN_PMTUDISC */
+ nla_total_size(1) +
0;
}
@@ -847,7 +849,9 @@ static int ipip_fill_info(struct sk_buff *skb, const struct net_device *dev)
nla_put_be32(skb, IFLA_IPTUN_LOCAL, parm->iph.saddr) ||
nla_put_be32(skb, IFLA_IPTUN_REMOTE, parm->iph.daddr) ||
nla_put_u8(skb, IFLA_IPTUN_TTL, parm->iph.ttl) ||
- nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos))
+ nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos) ||
+ nla_put_u8(skb, IFLA_IPTUN_PMTUDISC,
+ !!(parm->iph.frag_off & htons(IP_DF))))
goto nla_put_failure;
return 0;