Hi, wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Thursday, June 14, 2018 8:53 AM
> To: Zhao1, Wei <wei.zh...@intel.com>; dev@dpdk.org
> Cc: sta...@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: fix mask bits register set error for FDIR
> 
> Hi  Wei,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, June 13, 2018 4:12 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; sta...@dpdk.org; Zhao1, Wei
> > <wei.zh...@intel.com>
> > Subject: [PATCH] net/ixgbe: fix mask bits register set error for FDIR
> >
> > MAC address bits in mask registers should be set to zero when the is
> > mac mask is 0xFF, otherwise if it is 0x0 these bits should be to 0x3F.
> >
> > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > X550")
> >
> > Signed-off-by: Wei Zhao <wei.zh...@intel.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_fdir.c | 12 +++++++++---
> >  1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c
> > b/drivers/net/ixgbe/ixgbe_fdir.c index 3feb815..6d97aa3 100644
> > --- a/drivers/net/ixgbe/ixgbe_fdir.c
> > +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> > @@ -394,9 +394,15 @@ fdir_set_input_mask_x550(struct rte_eth_dev
> *dev)
> >                             IXGBE_FDIRIP6M_TNI_VNI;
> >
> >     if (mode == RTE_FDIR_MODE_PERFECT_TUNNEL) {
> > -           mac_mask = info->mask.mac_addr_byte_mask;
> > -           fdiripv6m |= (mac_mask <<
> > IXGBE_FDIRIP6M_INNER_MAC_SHIFT)
> > -                           & IXGBE_FDIRIP6M_INNER_MAC;
> > +           mac_mask = info->mask.mac_addr_byte_mask & 0x3F;
> Better not use 0x3f, you can change it to "IXGBE_FDIRIP6M_INNER_MAC >>
> IXGBE_FDIRIP6M_INNER_MAC_SHIFT"
> 
> > +           if (mac_mask == 0x3F)
> > +                   fdiripv6m &= ~IXGBE_FDIRIP6M_INNER_MAC;
> > +           else if (mac_mask == 0)
> > +                   fdiripv6m |= IXGBE_FDIRIP6M_INNER_MAC;
> > +           else{
> > +                   PMD_INIT_LOG(ERR, "invalid
> mac_addr_byte_mask");
> > +                   return -EINVAL;
> I think every byte of the MAC address can be masked. So this is not the
> invalid case. We should support 0x1f, 0xf, 0x7... as before.

Ok, I will commit v3
> 
> > +           }
> >
> >             switch (info->mask.tunnel_type_mask) {
> >             case 0:
> > --
> > 2.7.5

Reply via email to