IPv6 tunnel bug

Francis Dupont fdupont at isc.org
Mon Feb 27 17:20:27 UTC 2012


> the mailing list you want is netdev at vger.kernel.org, some key
> developers there are eric dumazet and dave miller.

=> do you want to interact with them? I had bad experiences with
the network code support of Linux so I prefer it is done but someone
else.

> ... and I don't quite see the problem you are solving by deleting the
> error out in ip6_tunnel.c. Prior to that snippet are:
> 
>         mtu = dst_mtu(dst) - sizeof (*ipv6h);
>         if (encap_limit >= 0) {
>                 max_headroom += 8;
>                 mtu -= 8;
>         }
> 
> which also looks kind of wrong for ipv6.

=> it is not fully stupid: it assumes the external packet should not
be fragmented. BTW there are two other positions:
 - limit the external packet to 1500 as bigger packets are not
  always reassembled
 - limit the external packet content to 65536 octets (note this limit
  is for IPv6 over IPv6 as in IPv4 the whole packet allways fits)

The patch I propose is enough to get 1500 octet IPv4 packets going
through but I agree the whole MTU stuff is wrong: the internal MTU
should not be constrainted by the external one.

Regards

Francis Dupont <fdupont at isc.org>


More information about the sdcpe-devel mailing list