Re: [GIT] Networking

Patrick McHardy
2013-05-02T07:19:04Z

On Thu, May 02, 2013 at 02:45:52AM -0400, David Miller wrote:
> From: Linus Torvalds <torvalds@linux-foundation.org>
> Date: Wed, 1 May 2013 21:55:38 -0700
>
> > I think the positions of those bits matter, and adding
> > NETIF_F_HW_VLAN_STAG_*_BIT randomly in the middle broke things. That's
> > backed up by the fact that we have things like
> >
> > __UNUSED_NETIF_F_1
> >
> > and
> >
> > /**/NETIF_F_GSO_SHIFT, /* keep the order of SKB_GSO_* bits */
> > NETIF_F_TSO_BIT /* ... TCPv4 segmentation */
> > = NETIF_F_GSO_SHIFT,
> >
> > in that array. There is some ordering, and there is some meaning to
> > the bit numbers, and adding the *_STAG_* bits in the middle broke some
> > subtle dependency.
>
> The other thing this does is it pushes some bits past bit 31.
>
> netdev_features_t, which holds these masks, is 64-bit but we've
> already seen one place in a driver where a 32-bit value was being
> used.
>
> I'll look more deeply into this, thanks.

I'll also have a look at this.