Subject: Re: [PATCH 2/3] [kernel] Add support for RX packet classification in a network device

From: Harvey Harrison <[email-masked]>
Date: Tue, 17 Feb 2009 22:07:05 -0800

On Tue, 2009-02-17 at 20:28 -0800, David Miller wrote:
> From: [email-masked]
> Date: Mon, 16 Feb 2009 09:17:23 -0800
> 
> > -struct ethtool_rxnfc {
> > -	__u32		cmd;
> > +/* The following structures are for supporting RX network flow
> > + * classification configuration. Note, all multibyte fields, e.g.,
> > + * ip4src, ip4dst, psrc, pdst, spi, etc. are expected to be in network
> > + * byte order.
> > + */
> > +struct ethtool_tcpip4_spec {
> > +	__u32	ip4src;
> > +	__u32	ip4dst;
> > +	__u16	psrc;
> > +	__u16	pdst;
> > +	__u8    tos;
> > +};
> 
> We have specific types for this, "__be32" et al.
> 
> Please use them.
> 
> And once you do that properly, checking the code with sparse via "make
> C=1" will warn for you if these data items are not accessed as
> big-endian items.

make C=1 CF=-D__CHECK_ENDIAN__

The endian checks aren't on yet by default due to the noise level, but
after the work over the past few kernel releases it may be getting
close.

I'll look again and see what it looks like for the next devel cycle.

Harvey