IPv6 tunnel bug

Dave Taht dave.taht at gmail.com
Mon Feb 27 14:59:56 UTC 2012


Dear Francis:

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

... 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.

On Mon, Feb 27, 2012 at 2:24 PM, Francis Dupont <fdupont at isc.org> wrote:
> BTW if someone has a good contact in the Linux kernel team, there is
> a bug in the IPv6 tunneling (in fact tunneling of anything over IPv6)
> in all kernels up to the last stable one (I've just checked):
> the internal MTU is set to the external MTU - sizeof(IPv6 header)
> which is very silly: when a big packet is encapsulated it must not
> be dropped or fragmented, it must be sent in multiple external IPv6
> fragments.
>
> Note this is true for any tunnels: the fragmentation must be done at
> the external (aka encapsulating) level, never at the internal (aka
> encapsulated) level.
>
> Regards
>
> Francis Dupont <fdupont at isc.org>
>
> PS: I have a patch which removes the spurious code (yes, the bug is
> in some lines of code which should not be there :-):
>
> *** /usr/src/linux/net/ipv6/ip6_tunnel.c        2008-07-13 23:51:29.000000000 +0200
> --- ip6_tunnel+.c       2008-12-09 01:25:33.000000000 +0100
> ***************
> *** 888,898 ****
>                mtu = IPV6_MIN_MTU;
>        if (skb->dst)
>                skb->dst->ops->update_pmtu(skb->dst, mtu);
> -       if (skb->len > mtu) {
> -               *pmtu = mtu;
> -               err = -EMSGSIZE;
> -               goto tx_err_dst_release;
> -       }
>
>        /*
>         * Okay, now see if we can stuff it in the buffer as-is.
> --- 888,893 ----
> _______________________________________________
> sdcpe-devel mailing list
> sdcpe-devel at lists.isc.org
> https://lists.isc.org/mailman/listinfo/sdcpe-devel



-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net


More information about the sdcpe-devel mailing list