Thread (1 message) flat view 1 message, 1 author, 2019-10-10

Re: [PATCH] ftgmac100: Disable HW checksum generation on AST2500

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2019-10-10 00:09:58
Also in: linux-aspeed, lkml, openbmc

On Wed, 2019-10-09 at 14:18 -0400, Oskar Senft wrote:
Does HW in the AST2500 actually perform the HW checksum calculation,
or would that be the responsibility of the NIC that it's talking to
via NC-SI?
I wouldn't rely on the NC-SI NIC for UDP/TCP checksums. We should be
providing it with well formed traffic.

Cheers,
Ben.
Oskar.

On Wed, Oct 9, 2019 at 12:38 AM Benjamin Herrenschmidt <
benh@kernel.crashing.org> wrote:
quoted
On Wed, 2019-09-11 at 14:48 +0000, Joel Stanley wrote:
quoted
Hi Ben,

On Tue, 10 Sep 2019 at 22:05, Florian Fainelli <
f.fainelli@gmail.com>
quoted
wrote:
quoted
On 9/10/19 2:37 PM, Vijay Khemka wrote:
quoted
HW checksum generation is not working for AST2500, specially
with
quoted
quoted
quoted
IPV6
over NCSI. All TCP packets with IPv6 get dropped. By
disabling
quoted
quoted
quoted
this
it works perfectly fine with IPV6.

Verified with IPV6 enabled and can do ssh.
How about IPv4, do these packets have problem? If not, can you
continue
advertising NETIF_F_IP_CSUM but take out NETIF_F_IPV6_CSUM?
quoted
Signed-off-by: Vijay Khemka <redacted>
---
 drivers/net/ethernet/faraday/ftgmac100.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/faraday/ftgmac100.c
b/drivers/net/ethernet/faraday/ftgmac100.c
index 030fed65393e..591c9725002b 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -1839,8 +1839,9 @@ static int ftgmac100_probe(struct
platform_device *pdev)
      if (priv->use_ncsi)
              netdev->hw_features |=
NETIF_F_HW_VLAN_CTAG_FILTER;
quoted
quoted
quoted
-     /* AST2400  doesn't have working HW checksum generation
*/
quoted
quoted
quoted
-     if (np && (of_device_is_compatible(np, "aspeed,ast2400-
mac")))
+     /* AST2400  and AST2500 doesn't have working HW
checksum
quoted
quoted
quoted
generation */
+     if (np && (of_device_is_compatible(np, "aspeed,ast2400-
mac") ||
+                of_device_is_compatible(np, "aspeed,ast2500-
mac")))
Do you recall under what circumstances we need to disable
hardware
quoted
checksumming?
Any news on this ? AST2400 has no HW checksum logic in HW, AST2500
should work for IPV4 fine, we should only selectively disable it
for
IPV6.

Can you do an updated patch ?

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