patch 'net/bonding: fix destroy dedicated queues flow' has been queued to stable release 20.11.9

luca.boccassi at gmail.com luca.boccassi at gmail.com
Wed Jun 28 16:10:33 CEST 2023


Hi,

FYI, your patch has been queued to stable release 20.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/30/23. 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.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2

Thanks.

Luca Boccassi

---
>From 789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2 Mon Sep 17 00:00:00 2001
From: Long Wu <long.wu at corigine.com>
Date: Thu, 8 Jun 2023 10:59:03 +0800
Subject: [PATCH] net/bonding: fix destroy dedicated queues flow
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit f7755321f3294e94c1f1b9e645cc997a3e39f999 ]

Bonding port in mode 4 enables dedicated queues, we
will create a flow for this feature. So we need to
destroy this flow when we remove the member port.

Furthermore if we don't destroy the flow that created
for dedicated queues when we remove the member port,
maybe we couldn't add the member port to a new bonding
port that needed dedicated queues.

We add the destroy action in removing member port
function.

Fixes: 49dad9028e2a ("net/bonding: support flow API")

Signed-off-by: Long Wu <long.wu at corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he at corigine.com>
Acked-by: Min Hu (Connor) <humin29 at huawei.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 7925f35882..73d1795ed3 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -703,6 +703,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id,
 		}
 	}
 
+	/* Remove the dedicated queues flow */
+	if (internals->mode == BONDING_MODE_8023AD &&
+		internals->mode4.dedicated_queues.enabled == 1 &&
+		internals->mode4.dedicated_queues.flow[slave_port_id] != NULL) {
+		rte_flow_destroy(slave_port_id,
+				internals->mode4.dedicated_queues.flow[slave_port_id],
+				&flow_error);
+		internals->mode4.dedicated_queues.flow[slave_port_id] = NULL;
+	}
+
 	slave_eth_dev = &rte_eth_devices[slave_port_id];
 	slave_remove(internals, slave_eth_dev);
 	slave_eth_dev->data->dev_flags &= (~RTE_ETH_DEV_BONDED_SLAVE);
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-06-28 11:40:08.456947624 +0100
+++ 0009-net-bonding-fix-destroy-dedicated-queues-flow.patch	2023-06-28 11:40:08.048027340 +0100
@@ -1 +1 @@
-From f7755321f3294e94c1f1b9e645cc997a3e39f999 Mon Sep 17 00:00:00 2001
+From 789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit f7755321f3294e94c1f1b9e645cc997a3e39f999 ]
+
@@ -22 +23,0 @@
-Cc: stable at dpdk.org
@@ -33 +34 @@
-index c0178369b4..85d0528b7c 100644
+index 7925f35882..73d1795ed3 100644
@@ -36 +37 @@
-@@ -712,6 +712,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id,
+@@ -703,6 +703,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id,


More information about the stable mailing list