Hi£¬qi > -----Original Message----- > From: Zhang, Qi Z > Sent: Friday, March 15, 2019 9:20 AM > To: David Harton (dharton) > Cc: Lu, Wenzhuo ; Ananyev, Konstantin > ; dev@dpdk.org; Zhao1, Wei > > Subject: RE: [PATCH v2] net/ixgbe: Restore vlan filter/extend for ixgbevf > > > > > -----Original Message----- > > From: David Harton (dharton) [mailto:dharton@cisco.com] > > Sent: Thursday, March 14, 2019 11:51 PM > > To: Zhang, Qi Z > > Cc: Lu, Wenzhuo ; Ananyev, Konstantin > > ; dev@dpdk.org > > Subject: RE: [PATCH v2] net/ixgbe: Restore vlan filter/extend for > > ixgbevf > > > > Hi Qi, > > > > > -----Original Message----- > > > From: Zhang, Qi Z > > > Sent: Thursday, March 14, 2019 11:14 AM > > > To: David Harton (dharton) > > > Cc: Lu, Wenzhuo ; Ananyev, Konstantin > > > ; dev@dpdk.org > > > Subject: RE: [PATCH v2] net/ixgbe: Restore vlan filter/extend for > > > ixgbevf > > > > > > > > > > > > > -----Original Message----- > > > > From: David Harton (dharton) [mailto:dharton@cisco.com] > > > > Sent: Thursday, March 14, 2019 9:38 PM > > > > To: David Harton (dharton) ; Zhang, Qi Z > > > > > > > > Cc: Lu, Wenzhuo ; Ananyev, Konstantin > > > > ; 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. > > Ok, if it is proved to work well with kernel PF, I think we should have this > offload > > > > > > > > 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. > > Seems VLAN Extend is only supported by DPDK PF driver, I didn't see any > related configuration in kernel driver. > Properly we need to remove it. > > @Wei, would you help to confirm on that? Yes, you are right, kernel pf do not has any code to set bit of IXGBE_DMATXCTL_GDV which enable double valn. So, that means (kernel pf host + dpdk vf) can not enable double valn feature. It seems only dpdk pf host + vf can do that. Maybe we can change code to " offloads |= DEV_RX_OFFLOAD_VLAN_FILTER; if (ixgbe_is_vf(dev) == 0) offloads |= DEV_RX_OFFLOAD_VLAN_EXTEND; " But that means when in ENV (kernel pf host + dpdk vf), this is much depended on kernel pf default configuration. > > Thanks > Qi > > > > > Thanks, > > Dave > > > > > > > > > > > > > > > > Or, am I missing something? > > > > > > > > Thanks, > > > > Dave > > > > > > > > > -----Original Message----- > > > > > From: David Harton > > > > > Sent: Friday, March 08, 2019 3:35 PM > > > > > To: dev@dpdk.org > > > > > Cc: wenzhuo.lu@intel.com; konstantin.ananyev@intel.com; > > > > > qi.z.zhang@intel.com; David Harton (dharton) > > > > > 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 > > > > > --- > > > > > > > > > > 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