[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1df13327-377c-41b7-9637-c873f3c1ddeb@redhat.com>
Date: Thu, 15 Aug 2024 12:44:37 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Thomas Bogendoerfer <tbogendoerfer@...e.de>,
"David S. Miller" <davem@...emloft.net>, David Ahern <dsahern@...nel.org>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net] ip6_tunnel: Fix broken GRO
On 8/13/24 13:59, Thomas Bogendoerfer wrote:
> GRO code checks for matching layer 2 headers to see, if packet belongs
> to the same flow and because ip6 tunnel set dev->hard_header_len
> this check fails in cases, where it shouldn't. To fix this don't
> set hard_header_len, but use needed_headroom like ipv4/ip_tunnel.c
> does.
>
> Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@...e.de>
Please include a suitable fixes tag.
> @@ -1731,6 +1732,7 @@ ip6_tnl_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
> int ip6_tnl_change_mtu(struct net_device *dev, int new_mtu)
> {
> struct ip6_tnl *tnl = netdev_priv(dev);
> + int t_hlen = tnl->hlen + sizeof(struct ipv6hdr);
Please respect the reverse xmas tree order above.
>
> if (tnl->parms.proto == IPPROTO_IPV6) {
> if (new_mtu < IPV6_MIN_MTU
Side node: it would be nice to extend the existing self-tests to cover
this kind of tunnels, too.
Thanks,
Paolo
Powered by blists - more mailing lists