[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <603b7b7e-c424-c4ef-05e2-dc7768e6959a@lab.ntt.co.jp>
Date: Wed, 24 May 2017 09:48:35 +0900
From: Toshiaki Makita <makita.toshiaki@....ntt.co.jp>
To: Vladislav Yasevich <vyasevich@...il.com>, netdev@...r.kernel.org
Cc: alexander.duyck@...il.com,
Vladislav Yasevich <vyasevic@...hat.com>,
Michal Kubecek <mkubecek@...e.cz>
Subject: Re: [PATCH V3 net 1/3] vlan: Fix tcp checksum offloads in Q-in-Q
vlans
On 2017/05/24 2:38, Vladislav Yasevich wrote:
> It appears that TCP checksum offloading has been broken for
> Q-in-Q vlans. The behavior was execerbated by the
> series
> commit afb0bc972b52 ("Merge branch 'stacked_vlan_tso'")
> that that enabled accleleration features on stacked vlans.
>
> However, event without that series, it is possible to trigger
> this issue. It just requires a lot more specialized configuration.
>
> The root cause is the interaction between how
> netdev_intersect_features() works, the features actually set on
> the vlan devices and HW having the ability to run checksum with
> longer headers.
>
> The issue starts when netdev_interesect_features() replaces
> NETIF_F_HW_CSUM with a combination of NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM,
> if the HW advertises IP|IPV6 specific checksums. This happens
> for tagged and multi-tagged packets. However, HW that enables
> IP|IPV6 checksum offloading doesn't gurantee that packets with
> arbitrarily long headers can be checksummed.
>
> This patch disables IP|IPV6 checksums on the packet for multi-tagged
> packets.
>
> CC: Toshiaki Makita <makita.toshiaki@....ntt.co.jp>
> CC: Michal Kubecek <mkubecek@...e.cz>
> Signed-off-by: Vladislav Yasevich <vyasevic@...hat.com>
> ---
Thank you for fixing it.
Acked-by: Toshiaki Makita <makita.toshiaki@....ntt.co.jp>
Toshiaki Makita
Powered by blists - more mailing lists