From: Joe Perches <joe@perches.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>,
davem@davemloft.net, roland@kernel.org, yevgenyp@mellanox.com,
oren@mellanox.com, netdev@vger.kernel.org,
Hadar Hen Zion <hadarh@mellanox.co.il>
Subject: Re: [PATCH net-next 09/10] net/mlx4_en: Manage flow steering rules with ethtool
Date: Sun, 01 Jul 2012 09:38:05 -0700 [thread overview]
Message-ID: <1341160685.2032.15.camel@joe2Laptop> (raw)
In-Reply-To: <1341158452.4852.107.camel@deadeye.wl.decadent.org.uk>
On Sun, 2012-07-01 at 17:00 +0100, Ben Hutchings wrote:
> On Sun, 2012-07-01 at 12:43 +0300, Or Gerlitz wrote:
> > From: Hadar Hen Zion <hadarh@mellanox.co.il>
[]
> > diff --git a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
[]
> > @@ -599,16 +603,360 @@ static int mlx4_en_set_rxfh_indir(struct net_device *dev,
> > return err;
> > }
> >
> > +#define not_all_zeros_or_all_ones(field, type) \
> > + (field && (type)~field)
I think this macro is suboptimal because
negated names are easy to misuse.
I think type is also unnecessary and too
easy to mismatch or keep up to date with
field type changes.
Perhaps it's better as:
#define all_zeros_or_all_ones(field) \
({ \
field && (typeof(field))~field; \
})
> > +
> > +static int mlx4_en_validate_flow(struct net_device *dev,
> > + struct ethtool_rxnfc *cmd)
> > +{
[]
> > + /* don't allow mask which isn't all 0 or 1 */
> > + if (not_all_zeros_or_all_ones(l4_mask->ip4src, __be32) ||
> > + not_all_zeros_or_all_ones(l4_mask->ip4dst, __be32) ||
> > + not_all_zeros_or_all_ones(l4_mask->psrc, __be16) ||
> > + not_all_zeros_or_all_ones(l4_mask->pdst, __be16))
> > + return -EOPNOTSUPP;
if (!all_zeros_or_all_ones(l4_mask->ip4src) ||
!all_zeros_or_all_ones(l4_mask->ip4dst) ||
!all_zeros_or_all_ones(l4_mask->psrc) ||
!all_zeros_or_all_ones(l4_mask->pdst))
next prev parent reply other threads:[~2012-07-01 16:38 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-01 9:43 [PATCH net-next 00/10] net/mlx4: Add flow-steering support Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 01/10] net/mlx4_core: Change resource tracking mechanism to use red-black tree Or Gerlitz
2012-07-01 10:17 ` David Miller
2012-07-01 9:43 ` [PATCH net-next 02/10] net/mlx4_core: Change resource tracking ID to be 64 bit Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 03/10] net/mlx4_en: Re-design multicast attachments flow Or Gerlitz
2012-07-01 10:32 ` David Miller
2012-07-01 9:43 ` [PATCH net-next 04/10] net/mlx4: Set steering mode according to device capabilities Or Gerlitz
2012-07-01 10:20 ` David Miller
2012-07-01 9:43 ` [PATCH net-next 05/10] net/mlx4_core: Add firmware commands to support device managed flow steering Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 06/10] {NET,IB}/mlx4: Add device managed flow steering firmware API Or Gerlitz
2012-07-01 10:30 ` David Miller
2012-07-01 12:29 ` Or Gerlitz
2012-07-01 21:42 ` David Miller
2012-07-02 7:55 ` Or Gerlitz
2012-07-02 8:14 ` Roland Dreier
2012-07-02 8:28 ` Or Gerlitz
2012-07-02 8:36 ` David Miller
2012-07-02 13:00 ` Or Gerlitz
2012-07-02 8:34 ` David Miller
2012-07-02 18:07 ` Ben Hutchings
2012-07-03 0:15 ` David Miller
2012-07-03 1:04 ` David Miller
2012-07-03 11:10 ` Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 07/10] net/mlx4_core: Add resource tracking for device managed flow steering rules Or Gerlitz
2012-07-01 10:22 ` David Miller
2012-07-01 9:43 ` [PATCH net-next 08/10] net/mlx4: Implement promiscuous mode with device managed flow-steering Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 09/10] net/mlx4_en: Manage flow steering rules with ethtool Or Gerlitz
2012-07-01 10:23 ` David Miller
2012-07-01 16:00 ` Ben Hutchings
2012-07-01 16:38 ` Joe Perches [this message]
2012-07-01 17:31 ` Joe Perches
2012-07-01 18:48 ` Andreas Schwab
2012-07-01 19:52 ` Joe Perches
2012-07-02 10:19 ` David Laight
2012-07-02 11:35 ` Andreas Schwab
2012-07-02 12:15 ` David Laight
2012-07-03 8:14 ` Or Gerlitz
2012-07-02 12:57 ` Or Gerlitz
2012-07-03 1:47 ` Ben Hutchings
2012-07-03 8:56 ` Or Gerlitz
2012-07-03 8:58 ` Or Gerlitz
2012-07-02 13:32 ` Or Gerlitz
2012-07-03 1:50 ` Ben Hutchings
2012-07-03 9:00 ` Or Gerlitz
2012-07-01 9:43 ` [PATCH net-next 10/10] net/mlx4_en: Add support for drop action through ethtool Or Gerlitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1341160685.2032.15.camel@joe2Laptop \
--to=joe@perches.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=hadarh@mellanox.co.il \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=oren@mellanox.com \
--cc=roland@kernel.org \
--cc=yevgenyp@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox