|
@@ -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;
|
|
|
|