Hi Vlad, + Linus Walleij On Tue, 19 Dec 2023 14:20:34 +0200 Vladimir Oltean <olteanv@xxxxxxxxx> wrote: > Hi Romain, > > On Mon, Dec 18, 2023 at 05:23:23PM +0100, Romain Gantois wrote: > > Some stmmac cores have Checksum Offload Engines that cannot handle DSA tags > > properly. These cores find the IP/TCP headers on their own and end up > > computing an incorrect checksum when a DSA tag is inserted between the MAC > > header and IP header. > > > > Add an additional check on stmmac link up so that COE is deactivated > > when the stmmac device is used as a DSA conduit. > > > > Add a new dma_feature flag to allow cores to signal that their COEs can't > > handle DSA tags on TX. > > > > Fixes: 6b2c6e4a938f ("net: stmmac: propagate feature flags to vlan") > > Cc: stable@xxxxxxxxxxxxxxx > > Reported-by: Richard Tresidder <rtresidd@xxxxxxxxxxxxxxxxx> > > Closes: https://lore.kernel.org/netdev/e5c6c75f-2dfa-4e50-a1fb-6bf4cdb617c2@xxxxxxxxxxxxxxxxx/ > > Reported-by: Romain Gantois <romain.gantois@xxxxxxxxxxx> > > Closes: https://lore.kernel.org/netdev/c57283ed-6b9b-b0e6-ee12-5655c1c54495@xxxxxxxxxxx/ > > Signed-off-by: Romain Gantois <romain.gantois@xxxxxxxxxxx> > > --- > > DSA_TAG_PROTO_LAN9303, DSA_TAG_PROTO_SJA1105 and DSA_TAG_PROTO_SJA1110 > construct tags with ETH_P_8021Q as EtherType. Do you still think it > would be correct to say that all DSA tags break COE on the stmmac, as > this patch assumes? > > The NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM convention is not about > statically checking whether the interface using DSA, but about looking > at each packet before deciding whether to use the offload engine or to > call skb_checksum_help(). So it looks like an acceptable solution would be something along the lines of what Linus is suggesting here : https://lore.kernel.org/netdev/20231216-new-gemini-ethernet-regression-v2-2-64c269413dfa@xxxxxxxxxx/ If so, maybe it's worth adding a new helper for that check ? Maxime