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