ipv6: support IPV6_PMTU_INTERFACE on sockets
IPV6_PMTU_INTERFACE is the same as IPV6_PMTU_PROBE for ipv6. Add it nontheless for symmetry with IPv4 sockets. Also drop incoming MTU information if this mode is enabled. The additional bit in ipv6_pinfo just eats in the padding behind the bitfield. There are no changes to the layout of the struct at all. Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
cd174e67a6
commit
93b36cf342
@@ -1165,10 +1165,10 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
|
||||
np->cork.hop_limit = hlimit;
|
||||
np->cork.tclass = tclass;
|
||||
if (rt->dst.flags & DST_XFRM_TUNNEL)
|
||||
mtu = np->pmtudisc == IPV6_PMTUDISC_PROBE ?
|
||||
mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ?
|
||||
rt->dst.dev->mtu : dst_mtu(&rt->dst);
|
||||
else
|
||||
mtu = np->pmtudisc == IPV6_PMTUDISC_PROBE ?
|
||||
mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ?
|
||||
rt->dst.dev->mtu : dst_mtu(rt->dst.path);
|
||||
if (np->frag_size < mtu) {
|
||||
if (np->frag_size)
|
||||
@@ -1270,7 +1270,7 @@ alloc_new_skb:
|
||||
if (skb == NULL || skb_prev == NULL)
|
||||
ip6_append_data_mtu(&mtu, &maxfraglen,
|
||||
fragheaderlen, skb, rt,
|
||||
np->pmtudisc ==
|
||||
np->pmtudisc >=
|
||||
IPV6_PMTUDISC_PROBE);
|
||||
|
||||
skb_prev = skb;
|
||||
|
Reference in New Issue
Block a user