|
|
Re: [PATCH net-next 09/10] net/mlx4_en: Manage flow steering rules with ethtool |
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@xxxxxxxxxxxxxx>
[]
> > 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))
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |