On Wed, 2018-02-07 at 18:05 +0100, Yves-Alexis Perez wrote: > I'll try to printk the mtu before returning EINVAL to see why it's lower than > 1280, but maybe the IP encapsulation is not correctly handled? I did: diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 3763dc01e374..d3c651158d35 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -1215,7 +1215,7 @@ static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork, mtu = np->frag_size; } if (mtu < IPV6_MIN_MTU) - return -EINVAL; + printk("mtu: %d\n", mtu); cork->base.fragsize = mtu; if (dst_allfrag(rt->dst.path)) cork->base.flags |= IPCORK_ALLFRAG; and I get: févr. 07 18:19:50 scapa kernel: mtu: 1218 and it doesn't depend on the original packet size (same thing happens with ping -s 100). It also happens with UDP (DNS) traffic, but apparently not with TCP. Regards, -- Yves-Alexis
Attachment:
signature.asc
Description: This is a digitally signed message part