patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency
       [not found] <20230707075802.620018-1-wenjing.qiao@intel.com>
@ 2023-07-12  7:48 ` Wenjing Qiao
  2023-07-12  8:43   ` Huang, ZhiminX
  2023-08-21  9:20   ` [PATCH v3] net/iavf: fix VLAN " Wenjing Qiao
  0 siblings, 2 replies; 5+ messages in thread
From: Wenjing Qiao @ 2023-07-12  7:48 UTC (permalink / raw)
  To: jingjing.wu, beilei.xing; +Cc: dev, Wenjing Qiao, stable

For i40e in-tree kernel driver, it will set strip on when setting
filter on. To be consistent with dpdk, disable strip again.

Fixes: cb25d4323fbf ("net/avf: enable MAC VLAN and promisc ops")
Cc: stable@dpdk.org

Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>
---
Depends-on: patch-129488 ("common/iavf: fix hw mac type for 710 NIC")
---
 drivers/net/iavf/iavf_ethdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 00b963128b..d5dfa019f7 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1361,6 +1361,7 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
 	int err;
 
 	if (adapter->closed)
@@ -1379,6 +1380,17 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	err = iavf_add_del_vlan(adapter, vlan_id, on);
 	if (err)
 		return -EIO;
+	/* for i40e in-tree kernel driver, it will set strip on when setting
+	 * filter on. To be consistent with dpdk, disable strip again.
+	 */
+	if (adapter->hw.mac.type == IAVF_MAC_XL710 ||
+	    adapter->hw.mac.type == IAVF_MAC_X722_VF) {
+		if (on && !(dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)) {
+			err = iavf_disable_vlan_strip(adapter);
+			if (err)
+				return -EIO;
+		}
+	}
 	return 0;
 }
 
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency
  2023-07-12  7:48 ` [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency Wenjing Qiao
@ 2023-07-12  8:43   ` Huang, ZhiminX
  2023-08-21  9:20   ` [PATCH v3] net/iavf: fix VLAN " Wenjing Qiao
  1 sibling, 0 replies; 5+ messages in thread
From: Huang, ZhiminX @ 2023-07-12  8:43 UTC (permalink / raw)
  To: Qiao, Wenjing, Wu, Jingjing, Xing, Beilei; +Cc: dev, Qiao, Wenjing, stable

-----Original Message-----
From: Wenjing Qiao <wenjing.qiao@intel.com>
Sent: Wednesday, July 12, 2023 3:49 PM
To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
Cc: dev@dpdk.org; Qiao, Wenjing <wenjing.qiao@intel.com>; stable@dpdk.org
Subject: [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency

For i40e in-tree kernel driver, it will set strip on when setting filter on. To be consistent with dpdk, disable strip again.

Fixes: cb25d4323fbf ("net/avf: enable MAC VLAN and promisc ops")
Cc: stable@dpdk.org

Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>
---
Depends-on: patch-129488 ("common/iavf: fix hw mac type for 710 NIC")
---
Verified vf vlan filter and strip cases in i40e intree driver, tested pass.
Tested-by: Zhimin Huang <zhiminx.huang@intel.com >

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3] net/iavf: fix VLAN offload strip flag inconsistency
  2023-07-12  7:48 ` [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency Wenjing Qiao
  2023-07-12  8:43   ` Huang, ZhiminX
@ 2023-08-21  9:20   ` Wenjing Qiao
  2023-08-21  9:52     ` [PATCH v4] " Wenjing Qiao
  1 sibling, 1 reply; 5+ messages in thread
From: Wenjing Qiao @ 2023-08-21  9:20 UTC (permalink / raw)
  To: jingjing.wu, beilei.xing; +Cc: stable, zhiminx.huang, Wenjing Qiao

For i40e kernel driver which only supports vlan(v1) VIRTCHNL OP,
it will set strip on when setting filter on but dpdk side will not
change strip flag. To be consistent with dpdk side, disable strip
again.

Fixes: cb25d4323fbf ("net/avf: enable MAC VLAN and promisc ops")
Cc: stable@dpdk.org

Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>
---
 drivers/net/iavf/iavf_ethdev.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 00b963128b..bdfc0ed098 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1361,6 +1361,7 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
 	int err;
 
 	if (adapter->closed)
@@ -1379,6 +1380,23 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	err = iavf_add_del_vlan(adapter, vlan_id, on);
 	if (err)
 		return -EIO;
+
+	/* For i40e kernel driver which only supports vlan(v1) VIRTCHNL OP,
+	 * it will set strip on when setting filter on but dpdk side will not
+	 * change strip flag. To be consistent with dpdk side, disable strip
+	 * again.
+	 *
+	 * For i40e kernel driver which supports vlan v2, dpdk will invoke vlan v2
+	 * related function, so it won't go through here.
+	 */
+	if (adapter->hw.mac.type == IAVF_MAC_XL710 ||
+	    adapter->hw.mac.type == IAVF_MAC_X722_VF) {
+		if (on && !(dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)) {
+			err = iavf_disable_vlan_strip(adapter);
+			if (err)
+				return -EIO;
+		}
+	}
 	return 0;
 }
 
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v4] net/iavf: fix VLAN offload strip flag inconsistency
  2023-08-21  9:20   ` [PATCH v3] net/iavf: fix VLAN " Wenjing Qiao
@ 2023-08-21  9:52     ` Wenjing Qiao
  2023-08-23  5:30       ` Zhang, Qi Z
  0 siblings, 1 reply; 5+ messages in thread
From: Wenjing Qiao @ 2023-08-21  9:52 UTC (permalink / raw)
  To: jingjing.wu, beilei.xing; +Cc: dev, zhiminx.huang, Wenjing Qiao, stable

For i40e kernel driver which only supports vlan(v1) VIRTCHNL OP,
it will set strip on when setting filter on but dpdk side will not
change strip flag. To be consistent with dpdk side, disable strip
again.

Fixes: cb25d4323fbf ("net/avf: enable MAC VLAN and promisc ops")
Cc: stable@dpdk.org

Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>
---
 drivers/net/iavf/iavf_ethdev.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 00b963128b..bdfc0ed098 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1361,6 +1361,7 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
 	int err;
 
 	if (adapter->closed)
@@ -1379,6 +1380,23 @@ iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 	err = iavf_add_del_vlan(adapter, vlan_id, on);
 	if (err)
 		return -EIO;
+
+	/* For i40e kernel driver which only supports vlan(v1) VIRTCHNL OP,
+	 * it will set strip on when setting filter on but dpdk side will not
+	 * change strip flag. To be consistent with dpdk side, disable strip
+	 * again.
+	 *
+	 * For i40e kernel driver which supports vlan v2, dpdk will invoke vlan v2
+	 * related function, so it won't go through here.
+	 */
+	if (adapter->hw.mac.type == IAVF_MAC_XL710 ||
+	    adapter->hw.mac.type == IAVF_MAC_X722_VF) {
+		if (on && !(dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)) {
+			err = iavf_disable_vlan_strip(adapter);
+			if (err)
+				return -EIO;
+		}
+	}
 	return 0;
 }
 
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v4] net/iavf: fix VLAN offload strip flag inconsistency
  2023-08-21  9:52     ` [PATCH v4] " Wenjing Qiao
@ 2023-08-23  5:30       ` Zhang, Qi Z
  0 siblings, 0 replies; 5+ messages in thread
From: Zhang, Qi Z @ 2023-08-23  5:30 UTC (permalink / raw)
  To: Qiao, Wenjing, Wu, Jingjing, Xing, Beilei
  Cc: dev, Huang, ZhiminX, Qiao, Wenjing, stable



> -----Original Message-----
> From: Wenjing Qiao <wenjing.qiao@intel.com>
> Sent: Monday, August 21, 2023 5:52 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Huang, ZhiminX <zhiminx.huang@intel.com>; Qiao, Wenjing
> <wenjing.qiao@intel.com>; stable@dpdk.org
> Subject: [PATCH v4] net/iavf: fix VLAN offload strip flag inconsistency
>
> For i40e kernel driver which only supports vlan(v1) VIRTCHNL OP, it will set strip
> on when setting filter on but dpdk side will not change strip flag. To be
> consistent with dpdk side, disable strip again.
>
> Fixes: cb25d4323fbf ("net/avf: enable MAC VLAN and promisc ops")
> Cc: stable@dpdk.org
>
> Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-23  5:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20230707075802.620018-1-wenjing.qiao@intel.com>
2023-07-12  7:48 ` [PATCH v2] net/iavf: fix vlan offload strip flag inconsistency Wenjing Qiao
2023-07-12  8:43   ` Huang, ZhiminX
2023-08-21  9:20   ` [PATCH v3] net/iavf: fix VLAN " Wenjing Qiao
2023-08-21  9:52     ` [PATCH v4] " Wenjing Qiao
2023-08-23  5:30       ` Zhang, Qi Z

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).