<div dir="ltr">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?<div><br></div><div>Oskar.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 9, 2019 at 12:38 AM Benjamin Herrenschmidt <<a href="mailto:benh@kernel.crashing.org">benh@kernel.crashing.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 2019-09-11 at 14:48 +0000, Joel Stanley wrote:<br>
> Hi Ben,<br>
> <br>
> On Tue, 10 Sep 2019 at 22:05, Florian Fainelli <<a href="mailto:f.fainelli@gmail.com" target="_blank">f.fainelli@gmail.com</a>><br>
> wrote:<br>
> > <br>
> > On 9/10/19 2:37 PM, Vijay Khemka wrote:<br>
> > > HW checksum generation is not working for AST2500, specially with<br>
> > > IPV6<br>
> > > over NCSI. All TCP packets with IPv6 get dropped. By disabling<br>
> > > this<br>
> > > it works perfectly fine with IPV6.<br>
> > > <br>
> > > Verified with IPV6 enabled and can do ssh.<br>
> > <br>
> > How about IPv4, do these packets have problem? If not, can you<br>
> > continue<br>
> > advertising NETIF_F_IP_CSUM but take out NETIF_F_IPV6_CSUM?<br>
> > <br>
> > > <br>
> > > Signed-off-by: Vijay Khemka <<a href="mailto:vijaykhemka@fb.com" target="_blank">vijaykhemka@fb.com</a>><br>
> > > ---<br>
> > >  drivers/net/ethernet/faraday/ftgmac100.c | 5 +++--<br>
> > >  1 file changed, 3 insertions(+), 2 deletions(-)<br>
> > > <br>
> > > diff --git a/drivers/net/ethernet/faraday/ftgmac100.c<br>
> > > b/drivers/net/ethernet/faraday/ftgmac100.c<br>
> > > index 030fed65393e..591c9725002b 100644<br>
> > > --- a/drivers/net/ethernet/faraday/ftgmac100.c<br>
> > > +++ b/drivers/net/ethernet/faraday/ftgmac100.c<br>
> > > @@ -1839,8 +1839,9 @@ static int ftgmac100_probe(struct<br>
> > > platform_device *pdev)<br>
> > >       if (priv->use_ncsi)<br>
> > >               netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER;<br>
> > > <br>
> > > -     /* AST2400  doesn't have working HW checksum generation */<br>
> > > -     if (np && (of_device_is_compatible(np, "aspeed,ast2400-<br>
> > > mac")))<br>
> > > +     /* AST2400  and AST2500 doesn't have working HW checksum<br>
> > > generation */<br>
> > > +     if (np && (of_device_is_compatible(np, "aspeed,ast2400-<br>
> > > mac") ||<br>
> > > +                of_device_is_compatible(np, "aspeed,ast2500-<br>
> > > mac")))<br>
> <br>
> Do you recall under what circumstances we need to disable hardware<br>
> checksumming?<br>
<br>
Any news on this ? AST2400 has no HW checksum logic in HW, AST2500<br>
should work for IPV4 fine, we should only selectively disable it for<br>
IPV6.<br>
<br>
Can you do an updated patch ?<br>
<br>
Cheers,<br>
Ben.<br>
<br>
</blockquote></div>