From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Romain Gantois <romain.gantois@bootlin.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Jose Abreu <joabreu@synopsys.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Sylvain Girard <sylvain.girard@se.com>,
Pascal EBERHARD <pascal.eberhard@se.com>,
Richard Tresidder <rtresidd@electromag.com.au>,
netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org,
Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH net 1/1] net: stmmac: Prevent DSA tags from breaking COE
Date: Tue, 19 Dec 2023 14:07:54 +0100 [thread overview]
Message-ID: <20231219140754.7a7a8dbd@device-28.home> (raw)
In-Reply-To: <20231219122034.pg2djgrosa4irubh@skbuf>
Hi Vlad,
+ Linus Walleij
On Tue, 19 Dec 2023 14:20:34 +0200
Vladimir Oltean <olteanv@gmail.com> 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@vger.kernel.org
> > Reported-by: Richard Tresidder <rtresidd@electromag.com.au>
> > Closes: https://lore.kernel.org/netdev/e5c6c75f-2dfa-4e50-a1fb-6bf4cdb617c2@electromag.com.au/
> > Reported-by: Romain Gantois <romain.gantois@bootlin.com>
> > Closes: https://lore.kernel.org/netdev/c57283ed-6b9b-b0e6-ee12-5655c1c54495@bootlin.com/
> > Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
> > ---
>
> 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@linaro.org/
If so, maybe it's worth adding a new helper for that check ?
Maxime
next prev parent reply other threads:[~2023-12-19 13:07 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-18 16:23 [PATCH net 0/1] Prevent DSA tags from breaking COE Romain Gantois
2023-12-18 16:23 ` [PATCH net 1/1] net: stmmac: " Romain Gantois
2023-12-19 12:20 ` Vladimir Oltean
2023-12-19 13:07 ` Maxime Chevallier [this message]
2023-12-19 14:19 ` Linus Walleij
2023-12-19 16:29 ` Maxime Chevallier
2023-12-19 22:46 ` Vladimir Oltean
2023-12-20 0:43 ` Linus Walleij
2023-12-20 23:00 ` Linus Walleij
2023-12-29 16:11 ` Romain Gantois
2023-12-30 14:17 ` Vladimir Oltean
2023-12-18 16:41 ` [PATCH net 0/1] " Andrew Lunn
2023-12-19 9:50 ` Romain Gantois
2024-01-05 4:37 ` Richard Tresidder
2023-12-19 12:30 ` Vladimir Oltean
2023-12-21 7:40 ` Household Cang
2023-12-22 12:30 ` Vladimir Oltean
2023-12-22 13:22 ` Lucas Pereira
2023-12-22 13:46 ` Vladimir Oltean
2023-12-22 19:08 ` Household Cang
[not found] ` <SJ2PR22MB45547404DA1CA10A201B2BE0A294A@SJ2PR22MB4554.namprd22.prod.outlook.com>
2025-10-17 6:56 ` Proxy ARP NetNS Awareness Household Cang
2025-10-20 9:58 ` Nicolas Dichtel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231219140754.7a7a8dbd@device-28.home \
--to=maxime.chevallier@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joabreu@synopsys.com \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=pascal.eberhard@se.com \
--cc=romain.gantois@bootlin.com \
--cc=rtresidd@electromag.com.au \
--cc=stable@vger.kernel.org \
--cc=sylvain.girard@se.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox