Messages in this thread | | | Subject | Re: [PATCH] ftgmac100: Disable HW checksum generation on AST2500 | From | Benjamin Herrenschmidt <> | Date | Thu, 10 Oct 2019 11:09:11 +1100 |
| |
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: > > On Wed, 2019-09-11 at 14:48 +0000, Joel Stanley wrote: > > > Hi Ben, > > > > > > On Tue, 10 Sep 2019 at 22:05, Florian Fainelli < > > f.fainelli@gmail.com> > > > wrote: > > > > > > > > On 9/10/19 2:37 PM, Vijay Khemka wrote: > > > > > HW checksum generation is not working for AST2500, specially > > with > > > > > IPV6 > > > > > over NCSI. All TCP packets with IPv6 get dropped. By > > disabling > > > > > 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? > > > > > > > > > > > > > > Signed-off-by: Vijay Khemka <vijaykhemka@fb.com> > > > > > --- > > > > > 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; > > > > > > > > > > - /* AST2400 doesn't have working HW checksum generation > > */ > > > > > - if (np && (of_device_is_compatible(np, "aspeed,ast2400- > > > > > mac"))) > > > > > + /* AST2400 and AST2500 doesn't have working HW > > checksum > > > > > 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 > > > 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. > >
| |