Hi Qi,

> -----Original Message-----
> From: Zhang, Qi Z <qi.z.zh...@intel.com>
> Sent: Thursday, March 14, 2019 11:14 AM
> To: David Harton (dharton) <dhar...@cisco.com>
> Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Ananyev, Konstantin
> <konstantin.anan...@intel.com>; dev@dpdk.org
> Subject: RE: [PATCH v2] net/ixgbe: Restore vlan filter/extend for ixgbevf
> 
> 
> 
> > -----Original Message-----
> > From: David Harton (dharton) [mailto:dhar...@cisco.com]
> > Sent: Thursday, March 14, 2019 9:38 PM
> > To: David Harton (dharton) <dhar...@cisco.com>; Zhang, Qi Z
> > <qi.z.zh...@intel.com>
> > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Ananyev, Konstantin
> > <konstantin.anan...@intel.com>; dev@dpdk.org
> > Subject: RE: [PATCH v2] net/ixgbe: Restore vlan filter/extend for
> > ixgbevf
> >
> > Hi Qi,
> >
> > This patch was rejected with no feedback.
> >
> > Can you share why?
> 
> Because as Zhao Wei explained in v1 thread, in ixgbe_vlan_offload_config ,
> ETH_VLAN_FILTER_MASK and DEV_RX_OFFLOAD_VLAN_EXTEND are ignored This looks
> like VLAN_FILTER AND VLAN_EXTEND offload is not supported and I didn't see
> you reply for that, so I assume you agree with that.
> 
> 
> >
> > Without this patch users are not able to call the
> > rte_eth_dev_vlan_filter() API for ixgbevf based ports because
> > VLAN_FILTER cannot be enabled when calling rte_eth_dev_configure().
> 
> OK, seems vlan filter is able to be configured for ixgbevf, but I don't
> know how this will work because vlan filter table needs to be enabled
> first (ixgbe_vlan_hw_filter_enable) So at least when it work with a DPDK
> PF, vlan filter will not work, maybe kernel PF driver will enable it by
> default? Could you share more insight?

I can't answer that but ixgbevf_vlan_filter_set() has been implemented for 
quite some time and it can no longer be called since the new offload flags are 
being enforced now.

I can share that rte_eth_dev_vlan_filter()/ixgbevf_vlan_filter_set() works 
properly with the propose change (VLAN traffic flows) where it doesn't without 
it.

> 
> And same question to VLAN_EXTEND

I actually don't care about extend but simply changed it because it seems to be 
in the same situation.  I'm happy to leave it  out of the patch if that grants 
acceptance.

Thanks,
Dave

> 
> 
> >
> > Or, am I missing something?
> >
> > Thanks,
> > Dave
> >
> > > -----Original Message-----
> > > From: David Harton <dhar...@cisco.com>
> > > Sent: Friday, March 08, 2019 3:35 PM
> > > To: dev@dpdk.org
> > > Cc: wenzhuo...@intel.com; konstantin.anan...@intel.com;
> > > qi.z.zh...@intel.com; David Harton (dharton) <dhar...@cisco.com>
> > > Subject: [PATCH v2] net/ixgbe: Restore vlan filter/extend for
> > > ixgbevf
> > >
> > > ixgbevf vlan strip and extend capabilities were removed when
> > > migrating to the bit flags implementation.
> > >
> > > Restoring the capbility to enable these offloads at configuration
> time.
> > >
> > > Fixes: ec3b1124d14d (\"net/ixgbe: convert to new Rx offloads API\")
> > > Signed-off-by: David Harton <dhar...@cisco.com>
> > > ---
> > >
> > > v2: removed unused function ixgbe_is_vf()
> > >
> > >  drivers/net/ixgbe/ixgbe_rxtx.c | 23 ++---------------------
> > >  1 file changed, 2 insertions(+), 21 deletions(-)
> > >
> > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c
> > > b/drivers/net/ixgbe/ixgbe_rxtx.c index e92a70fb3..b1b83613e 100644
> > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> > > @@ -2813,23 +2813,6 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter
> > > *adapter, struct ixgbe_rx_queue *rxq)  #endif  }
> > >
> > > -static int
> > > -ixgbe_is_vf(struct rte_eth_dev *dev) -{
> > > - struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data-
> > > >dev_private);
> > > -
> > > - switch (hw->mac.type) {
> > > - case ixgbe_mac_82599_vf:
> > > - case ixgbe_mac_X540_vf:
> > > - case ixgbe_mac_X550_vf:
> > > - case ixgbe_mac_X550EM_x_vf:
> > > - case ixgbe_mac_X550EM_a_vf:
> > > -         return 1;
> > > - default:
> > > -         return 0;
> > > - }
> > > -}
> > > -
> > >  uint64_t
> > >  ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev)  { @@ -2853,15
> > > +2836,13 @@ ixgbe_get_rx_port_offloads(struct rte_eth_dev *dev)
> > >              DEV_RX_OFFLOAD_TCP_CKSUM   |
> > >              DEV_RX_OFFLOAD_KEEP_CRC    |
> > >              DEV_RX_OFFLOAD_JUMBO_FRAME |
> > > +            DEV_RX_OFFLOAD_VLAN_FILTER |
> > > +            DEV_RX_OFFLOAD_VLAN_EXTEND |
> > >              DEV_RX_OFFLOAD_SCATTER;
> > >
> > >   if (hw->mac.type == ixgbe_mac_82598EB)
> > >           offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
> > >
> > > - if (ixgbe_is_vf(dev) == 0)
> > > -         offloads |= (DEV_RX_OFFLOAD_VLAN_FILTER |
> > > -                      DEV_RX_OFFLOAD_VLAN_EXTEND);
> > > -
> > >   /*
> > >    * RSC is only supported by 82599 and x540 PF devices in a non-SR-
> > > IOV
> > >    * mode.
> > > --
> > > 2.19.1

Reply via email to