[dpdk-dev] [PATCH 6/6] net/hns3: fix duplicate VLAN

Wei Hu (Xavier) xavier.huwei at tom.com
Fri Nov 22 13:06:24 CET 2019


From: "Min Hu (Connor)" <humin29 at huawei.com>

When setting duplicate vlan, hns3 driver will also add vlan entry
to vlan linked list, and this is unreasonable.

This patch adds checking whether the VLAN to be added already exists
in the linked list and preventing adding duplicate vlan.

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>
---
 drivers/net/hns3/hns3_ethdev.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 3435bce26..72315718a 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -282,6 +282,11 @@ hns3_add_dev_vlan_table(struct hns3_adapter *hns, uint16_t vlan_id,
 	struct hns3_hw *hw = &hns->hw;
 	struct hns3_pf *pf = &hns->pf;
 
+	LIST_FOREACH(vlan_entry, &pf->vlan_list, next) {
+		if (vlan_entry->vlan_id == vlan_id)
+			return;
+	}
+
 	vlan_entry = rte_zmalloc("hns3_vlan_tbl", sizeof(*vlan_entry), 0);
 	if (vlan_entry == NULL) {
 		hns3_err(hw, "Failed to malloc hns3 vlan table");
-- 
2.23.0



More information about the dev mailing list