lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 5 Apr 2011 20:29:36 +0200
From:	Michał Mirosław <mirq-linux@...e.qmqm.pl>
To:	Ben Hutchings <bhutchings@...arflare.com>
Cc:	David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
	linux-net-drivers@...arflare.com
Subject: Re: [PATCHv2 net-next-2.6 3/7] sfc: Implement generic features
	interface

On Tue, Apr 05, 2011 at 07:20:40PM +0100, Ben Hutchings wrote:
> On Tue, 2011-04-05 at 20:15 +0200, Michał Mirosław wrote:
> > On Tue, Apr 05, 2011 at 07:03:29PM +0100, Ben Hutchings wrote:
> > > Signed-off-by: Ben Hutchings <bhutchings@...arflare.com>
> > > ---
> > >  drivers/net/sfc/efx.c        |   20 +++++++++--
> > >  drivers/net/sfc/ethtool.c    |   78 ------------------------------------------
> > >  drivers/net/sfc/net_driver.h |    2 -
> > >  drivers/net/sfc/rx.c         |    2 +-
> > >  4 files changed, 18 insertions(+), 84 deletions(-)
> > > 
> > > diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c
> > > index 542f32d..db72a6e 100644
> > > --- a/drivers/net/sfc/efx.c
> > > +++ b/drivers/net/sfc/efx.c
> > [...]
> > > @@ -2452,12 +2463,15 @@ static int __devinit efx_pci_probe(struct pci_dev *pci_dev,
> > >  		return -ENOMEM;
> > >  	net_dev->features |= (type->offload_features | NETIF_F_SG |
> > >  			      NETIF_F_HIGHDMA | NETIF_F_TSO |
> > > -			      NETIF_F_GRO);
> > > +			      NETIF_F_RXCSUM);
> > >  	if (type->offload_features & NETIF_F_V6_CSUM)
> > >  		net_dev->features |= NETIF_F_TSO6;
> > >  	/* Mask for features that also apply to VLAN devices */
> > >  	net_dev->vlan_features |= (NETIF_F_ALL_CSUM | NETIF_F_SG |
> > > -				   NETIF_F_HIGHDMA | NETIF_F_ALL_TSO);
> > > +				   NETIF_F_HIGHDMA | NETIF_F_ALL_TSO |
> > > +				   NETIF_F_RXCSUM);
> > > +	/* All offloads can be toggled */
> > > +	net_dev->hw_features = net_dev->features & ~NETIF_F_HIGHDMA;
> > >  	efx = netdev_priv(net_dev);
> > >  	pci_set_drvdata(pci_dev, efx);
> > >  	SET_NETDEV_DEV(net_dev, &pci_dev->dev);
> > 
> > Does the driver really allow independent switching of RX checksumming
> > for tagged and untagged frames?
> 
> No.
> 
> > The VLAN code currently doesn't ignore
> > HW checksum when present in skb and doesn't allow toggling of the feature
> > (see: vlan_fix_features() and vlan_skb_recv() in net/8021q/vlan_dev.c).
> So RX checksum offload is reported as enabled on the VLAN device iff it
> is enabled for the physical device, which is correct.

Exactly.

What I wanted to point out is that NETIF_F_RXCSUM is set (or cleared) for
VLAN devices regardless if it is set in vlan_features. It would be cleaner
to not allow it in vlan_features because it's currently not inherited like
other features.

Best Regards,
Michał Mirosław
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ