Message ID | 20180829162932.6015e89d@xhacker.debian (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: mvneta: some bug fix and trivial improvement | expand |
Hi Jisheng, On mer., août 29 2018, Jisheng Zhang <Jisheng.Zhang@synaptics.com> wrote: > The code and HW supports NETIF_F_RXCSUM, so let's enable it by > default. Same as the previous one, it should go to net-next and Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com> Thanks, Gregory > > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> > --- > drivers/net/ethernet/marvell/mvneta.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c > index 06634d4f9b94..7d98f7828a30 100644 > --- a/drivers/net/ethernet/marvell/mvneta.c > +++ b/drivers/net/ethernet/marvell/mvneta.c > @@ -4591,7 +4591,8 @@ static int mvneta_probe(struct platform_device *pdev) > } > } > > - dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO; > + dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | > + NETIF_F_TSO | NETIF_F_RXCSUM; > dev->hw_features |= dev->features; > dev->vlan_features |= dev->features; > dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; > -- > 2.18.0 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Wed, Aug 29, 2018 at 04:29:32PM +0800, Jisheng Zhang wrote:
> The code and HW supports NETIF_F_RXCSUM, so let's enable it by default.
Hi Jisheng
I've never studied what all these different flags mean. Does
NETIF_F_RXCSUM mean Ethernet FCS? Or does it also include IPv4, IPv6,
UDP, TCP... checksums?
I've seen network interfaces get checksum'ing wrong when used with an
Ethernet switch with DSA. The extra header DSA uses means the hardware
cannot parse the packet correctly, and so cannot find these headers.
If this is just for FCS, then it is not a problem.
Thanks
Andrew
Hi Andrew, On Wed, 29 Aug 2018 15:08:36 +0200 Andrew Lunn wrote: > On Wed, Aug 29, 2018 at 04:29:32PM +0800, Jisheng Zhang wrote: > > The code and HW supports NETIF_F_RXCSUM, so let's enable it by default. > > Hi Jisheng > > I've never studied what all these different flags mean. Does > NETIF_F_RXCSUM mean Ethernet FCS? Or does it also include IPv4, IPv6, > UDP, TCP... checksums? Per my understanding, it means RX checksumming. And it only supports IPv4 RX checksum, the code will > > I've seen network interfaces get checksum'ing wrong when used with an > Ethernet switch with DSA. The extra header DSA uses means the hardware > cannot parse the packet correctly, and so cannot find these headers. The network interface is mvneta? Do you mean after this patch, we would see errors as the following? "bad rx status 0xabcdefgh (crc error)" So for DSA, we should disable RXCSUM? I'm not sure how to handle this case. I believe other drivers(with RXCSUM enabled by deafult) also have this problem with DSA. Thanks > > If this is just for FCS, then it is not a problem. > > Thanks > Andrew > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > I've seen network interfaces get checksum'ing wrong when used with an > > Ethernet switch with DSA. The extra header DSA uses means the hardware > > cannot parse the packet correctly, and so cannot find these headers. > > The network interface is mvneta? I've not tested mvneta yet. It could be, since it was designed to be used with Marvell switches in things like WiFi boxes, it knows how to find the IP header when there is a DSA tag. > Do you mean after this patch, we would see errors as the following? > > "bad rx status 0xabcdefgh (crc error)" I've not tried it yet. That is why i'm trying to understand what NETIF_F_RXCSUM actually means. Andrew
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 06634d4f9b94..7d98f7828a30 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -4591,7 +4591,8 @@ static int mvneta_probe(struct platform_device *pdev) } } - dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO; + dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | + NETIF_F_TSO | NETIF_F_RXCSUM; dev->hw_features |= dev->features; dev->vlan_features |= dev->features; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
The code and HW supports NETIF_F_RXCSUM, so let's enable it by default. Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> --- drivers/net/ethernet/marvell/mvneta.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)