[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110405182936.GA19316@rere.qmqm.pl>
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