[dpdk-stable] patch 'net/hns3: fix VLAN PVID when configuring device' has been queued to stable release 19.11.3

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue May 19 15:04:45 CEST 2020


Hi,

FYI, your patch has been queued to stable release 19.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/21/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From 827eb6ca970dc842f2c71365246397bb67381e5a Mon Sep 17 00:00:00 2001
From: "Min Hu (Connor)" <humin29 at huawei.com>
Date: Wed, 29 Apr 2020 19:13:26 +0800
Subject: [PATCH] net/hns3: fix VLAN PVID when configuring device

[ upstream commit 99d673d5d3a8046a7f55d82a0a26244372f76abd ]

In current version, when upper level application calls the
rte_eth_dev_configure API function, if pvid config is not set of the
input parameter which struct type is rte_eth_conf, hns3 pmd driver also
sets the VLAN pvid related configuration to hardware, and this is not
reasonable. For example, As pvid is set to 100 by
rte_eth_dev_set_vlan_pvid, when pvid config is not set in rte_eth_conf,
rte_eth_dev_configure will tell driver to delete pvid 0, and that is
meaningless.

This patch fixes it to ensure that driver does not set VLAN pvid related
configuration to hardware when pvid config is not set in rte_eth_conf.

Fixes: 411d23b9eafb ("net/hns3: support VLAN")

Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
Signed-off-by: Chengchang Tang <tangchengchang at huawei.com>
---
 drivers/net/hns3/hns3_ethdev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 378774396f..6eb36d4258 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -1051,6 +1051,13 @@ hns3_dev_configure_vlan(struct rte_eth_dev *dev)
 		return ret;
 	}
 
+	/*
+	 * If pvid config is not set in rte_eth_conf, driver needn't to set
+	 * VLAN pvid related configuration to hardware.
+	 */
+	if (txmode->pvid == 0 && txmode->hw_vlan_insert_pvid == 0)
+		return 0;
+
 	/* Apply pvid setting */
 	ret = hns3_vlan_pvid_set(dev, txmode->pvid,
 				 txmode->hw_vlan_insert_pvid);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-19 14:04:50.560787758 +0100
+++ 0150-net-hns3-fix-VLAN-PVID-when-configuring-device.patch	2020-05-19 14:04:44.476653085 +0100
@@ -1,8 +1,10 @@
-From 99d673d5d3a8046a7f55d82a0a26244372f76abd Mon Sep 17 00:00:00 2001
+From 827eb6ca970dc842f2c71365246397bb67381e5a Mon Sep 17 00:00:00 2001
 From: "Min Hu (Connor)" <humin29 at huawei.com>
 Date: Wed, 29 Apr 2020 19:13:26 +0800
 Subject: [PATCH] net/hns3: fix VLAN PVID when configuring device
 
+[ upstream commit 99d673d5d3a8046a7f55d82a0a26244372f76abd ]
+
 In current version, when upper level application calls the
 rte_eth_dev_configure API function, if pvid config is not set of the
 input parameter which struct type is rte_eth_conf, hns3 pmd driver also
@@ -16,7 +18,6 @@
 configuration to hardware when pvid config is not set in rte_eth_conf.
 
 Fixes: 411d23b9eafb ("net/hns3: support VLAN")
-Cc: stable at dpdk.org
 
 Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
 Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
@@ -26,10 +27,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
-index ae87aa0dd2..1fac4f3666 100644
+index 378774396f..6eb36d4258 100644
 --- a/drivers/net/hns3/hns3_ethdev.c
 +++ b/drivers/net/hns3/hns3_ethdev.c
-@@ -1059,6 +1059,13 @@ hns3_dev_configure_vlan(struct rte_eth_dev *dev)
+@@ -1051,6 +1051,13 @@ hns3_dev_configure_vlan(struct rte_eth_dev *dev)
  		return ret;
  	}
  


More information about the stable mailing list