patch 'net/memif: allow stopping and closing device' has been queued to stable release 20.11.4

Xueming Li xuemingl at nvidia.com
Sun Nov 28 15:54:13 CET 2021


Hi,

FYI, your patch has been queued to stable release 20.11.4

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

This queued commit can be viewed at:
https://github.com/steevenlee/dpdk/commit/e6b5cb9fdd6d54f4df61f32fca31ab137f61fd4f

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From e6b5cb9fdd6d54f4df61f32fca31ab137f61fd4f Mon Sep 17 00:00:00 2001
From: Junxiao Shi <git at mail1.yoursunny.com>
Date: Thu, 18 Nov 2021 17:33:46 +0000
Subject: [PATCH] net/memif: allow stopping and closing device
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 858a152ab5e99852390b3157c2a4ecbb23022b4f ]

Bugzilla ID: 888
Fixes: febc855b358e ("ethdev: forbid closing started device")

Signed-off-by: Junxiao Shi <git at mail1.yoursunny.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 drivers/net/memif/rte_eth_memif.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
index aded2ac134..2df9a14e63 100644
--- a/drivers/net/memif/rte_eth_memif.c
+++ b/drivers/net/memif/rte_eth_memif.c
@@ -1245,6 +1245,13 @@ memif_dev_start(struct rte_eth_dev *dev)
 	return ret;
 }
 
+static int
+memif_dev_stop(struct rte_eth_dev *dev)
+{
+	memif_disconnect(dev);
+	return 0;
+}
+
 static int
 memif_dev_close(struct rte_eth_dev *dev)
 {
@@ -1253,7 +1260,6 @@ memif_dev_close(struct rte_eth_dev *dev)
 
 	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
 		memif_msg_enq_disconnect(pmd->cc, "Device closed", 0);
-		memif_disconnect(dev);
 
 		for (i = 0; i < dev->data->nb_rx_queues; i++)
 			(*dev->dev_ops->rx_queue_release)(dev->data->rx_queues[i]);
@@ -1261,8 +1267,6 @@ memif_dev_close(struct rte_eth_dev *dev)
 			(*dev->dev_ops->tx_queue_release)(dev->data->tx_queues[i]);
 
 		memif_socket_remove_device(dev);
-	} else {
-		memif_disconnect(dev);
 	}
 
 	rte_free(dev->process_private);
@@ -1464,6 +1468,7 @@ memif_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t qid __rte_unused)
 
 static const struct eth_dev_ops ops = {
 	.dev_start = memif_dev_start,
+	.dev_stop = memif_dev_stop,
 	.dev_close = memif_dev_close,
 	.dev_infos_get = memif_dev_info,
 	.dev_configure = memif_dev_configure,
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-28 22:41:06.736654781 +0800
+++ 0069-net-memif-allow-stopping-and-closing-device.patch	2021-11-28 22:41:03.426872382 +0800
@@ -1 +1 @@
-From 858a152ab5e99852390b3157c2a4ecbb23022b4f Mon Sep 17 00:00:00 2001
+From e6b5cb9fdd6d54f4df61f32fca31ab137f61fd4f Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 858a152ab5e99852390b3157c2a4ecbb23022b4f ]
@@ -8 +10,0 @@
-Cc: stable at dpdk.org
@@ -17 +19 @@
-index 43d7378329..e3d523af57 100644
+index aded2ac134..2df9a14e63 100644
@@ -20 +22 @@
-@@ -1260,6 +1260,13 @@ memif_dev_start(struct rte_eth_dev *dev)
+@@ -1245,6 +1245,13 @@ memif_dev_start(struct rte_eth_dev *dev)
@@ -34 +36 @@
-@@ -1268,7 +1275,6 @@ memif_dev_close(struct rte_eth_dev *dev)
+@@ -1253,7 +1260,6 @@ memif_dev_close(struct rte_eth_dev *dev)
@@ -41,3 +43,3 @@
- 			(*dev->dev_ops->rx_queue_release)(dev, i);
-@@ -1276,8 +1282,6 @@ memif_dev_close(struct rte_eth_dev *dev)
- 			(*dev->dev_ops->tx_queue_release)(dev, i);
+ 			(*dev->dev_ops->rx_queue_release)(dev->data->rx_queues[i]);
+@@ -1261,8 +1267,6 @@ memif_dev_close(struct rte_eth_dev *dev)
+ 			(*dev->dev_ops->tx_queue_release)(dev->data->tx_queues[i]);
@@ -51 +53 @@
-@@ -1515,6 +1519,7 @@ memif_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t qid __rte_unused)
+@@ -1464,6 +1468,7 @@ memif_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t qid __rte_unused)


More information about the stable mailing list