lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <cdc38cdf-536c-c23b-46c1-abadf14001a2@bootlin.com> Date: Tue, 19 Dec 2023 10:50:15 +0100 (CET) From: Romain Gantois <romain.gantois@...tlin.com> To: Andrew Lunn <andrew@...n.ch> cc: Romain Gantois <romain.gantois@...tlin.com>, Alexandre Torgue <alexandre.torgue@...s.st.com>, Jose Abreu <joabreu@...opsys.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Maxime Coquelin <mcoquelin.stm32@...il.com>, Miquel Raynal <miquel.raynal@...tlin.com>, Maxime Chevallier <maxime.chevallier@...tlin.com>, Sylvain Girard <sylvain.girard@...com>, Pascal EBERHARD <pascal.eberhard@...com>, Richard Tresidder <rtresidd@...ctromag.com.au>, netdev@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com, linux-arm-kernel@...ts.infradead.org Subject: Re: [PATCH net 0/1] Prevent DSA tags from breaking COE On Mon, 18 Dec 2023, Andrew Lunn wrote: ... > Probably a dumb question.... Does this COE also perform checksum > validation on receive? Is it also getting confused by the DSA header? > > You must of tested receive, so it works somehow, but i just wounder if > something needs to be done to be on the safe side? That's a good point, I just investigated the RX path a bit more and the MAC indeed has IP/TCP/UDP RX checksum offloading enabled. However, the external switch in my setup uses EDSA tags, which displace the "true" ethertype field to the end of the DSA header and replaces the "normal" ethertype with ETH_P_EDSA (0xdada). So to the MAC controller, the ethernet frame has an unknown ethertype, and so it doesn't see it as an IP frame at all. All of the ethtool counters related to IP stuff are at 0, which supports this. This explains why checksum offloading doesn't break the RX path in my case. However, other maybe other DSA switches using different frame formats could cause different behavior? Considering this, I think it would be safer to change the dsa_breaks_tx_coe flag to a general dsa_breaks_coe flag. It makes sense to me to assume that if DSA tags break TX COE, then RX COE will also not work. I'll take this into account when I send a v2. Best Regards, -- Romain Gantois, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Powered by blists - more mailing lists