Subject: Re: [PATCHv3] net: Define enum for the bits used in features.

From: "Michael S. Tsirkin" <[email-masked]>
Date: Mon, 6 Jun 2011 18:32:53 +0300

On Sun, Jun 05, 2011 at 10:15:37PM -0700, David Miller wrote:
> From: "Michael S. Tsirkin" <[email-masked]>
> Date: Mon, 6 Jun 2011 06:58:08 +0300
> 
> > I've been thinking about this as well. It turns out most
> > things above can be done with the spatch (aka coccinelle) tool.
> > But I think the largest problem is what to do with multiple-feature
> > macros such as NETIF_F_GSO_SOFTWARE.
> > 
> > If we keep them an 'or' of bits, we more or less commit to
> > an implementation that can represent them all in a single
> > constant.
> > 
> > I played with variadic macros but could not come up with something
> > that does not generate a lot of code.
> 
> Since the GSO accessors deal with mutliple bits, you can create
> special GSO specific interfaces to manipulate them.

Yes but it's not just GSO.
It's anything that includes more than 1 feature.
Examples:
NETIF_F_ALL_CSUM
NETIF_F_ALL_TX_OFFLOADS
NETIF_F_V6_CSUM
NETIF_F_SOFT_FEATURES

etc

Creating many accessors for each will need a lot
of code duplication ...

-- 
MST