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.toshi...@lab.ntt.co.jp>
> CC: Michal Kubecek <mkube...@suse.cz>
> Signed-off-by: Vladislav Yasevich <vyase...@redhat.com>
> ---

Thank you for fixing it.
Acked-by: Toshiaki Makita <makita.toshi...@lab.ntt.co.jp>

Toshiaki Makita

Reply via email to