Thread (7 messages) flat view 7 messages, 3 authors, 2021-05-20

Re: stmmac: zero udp checksum

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-04-05 13:27:35

On Mon, Apr 05, 2021 at 02:53:15PM +0200, Julian Labus wrote:
Hi all,

in our community mesh network we recently discovered that a TP-Link Archer
C2600 device is unable to receive IPv6 UDP packets with a zero checksum when
RX checksum offloading is enabled. The device uses ipq806x-gmac-dwmac for
its ethernet ports.

According to https://tools.ietf.org/html/rfc2460#section-8.1 this sounds
like correct behavior as it says a UDP checksum must not be zero for IPv6
packets. But this definition was relaxed in
https://tools.ietf.org/html/rfc6935#section-5 to allow zero checksums in
tunneling protocols like VXLAN where we discovered the problem.

Can the behavior of the stmmac driver be changed to meet RFC6935 or would it
be possible to make the (RX) Checksum Offloading Engine configurable via a
device tree property to disable it in environments were it causes problems?
Hi Julian

I don't know the stmmac driver at all...

Have you played around with ethtool -k/-K? Can use this to turn off
hardware checksums?

I doubt a DT property would be accepted. What you probably want to do
is react on the NETDEV notifiers for when an upper interface is
changed. If a VXLAN interface is added, turn off hardware checksums.

	 Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help