patch 'app/testpmd: fix async indirect action list creation' has been queued to stable release 23.11.1

Xueming Li xuemingl at nvidia.com
Sat Apr 13 14:49:19 CEST 2024


Hi,

FYI, your patch has been queued to stable release 23.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/15/24. 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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=15952c71eb673ca8ce6acd754bd39ef367896423

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From 15952c71eb673ca8ce6acd754bd39ef367896423 Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson at nvidia.com>
Date: Thu, 7 Mar 2024 12:27:11 +0200
Subject: [PATCH] app/testpmd: fix async indirect action list creation
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit c1496cb606875e7fda120a41435731fccff8f664 ]

Testpmd calls the same function to create legacy indirect action and
indirect list action.
The function did not identify required action correctly.

The patch adds the `indirect_list` boolean function parameter that is
derived from the action type.

Fixes: 72a3dec7126f ("ethdev: add indirect flow list action")

Signed-off-by: Gregory Etelson <getelson at nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 1 +
 app/test-pmd/config.c       | 5 ++---
 app/test-pmd/testpmd.h      | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 5647add29a..b19b3205f0 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -12609,6 +12609,7 @@ cmd_flow_parsed(const struct buffer *in)
 		port_queue_action_handle_create(
 				in->port, in->queue, in->postpone,
 				in->args.vc.attr.group,
+				in->command == QUEUE_INDIRECT_ACTION_LIST_CREATE,
 				&((const struct rte_flow_indir_action_conf) {
 					.ingress = in->args.vc.attr.ingress,
 					.egress = in->args.vc.attr.egress,
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7c24e401ec..6d605556ff 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2996,6 +2996,7 @@ port_queue_flow_update(portid_t port_id, queueid_t queue_id,
 int
 port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
 				bool postpone, uint32_t id,
+				bool indirect_list,
 				const struct rte_flow_indir_action_conf *conf,
 				const struct rte_flow_action *action)
 {
@@ -3005,8 +3006,6 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
 	int ret;
 	struct rte_flow_error error;
 	struct queue_job *job;
-	bool is_indirect_list = action[1].type != RTE_FLOW_ACTION_TYPE_END;
-
 
 	ret = action_alloc(port_id, id, &pia);
 	if (ret)
@@ -3028,7 +3027,7 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
 	/* Poisoning to make sure PMDs update it in case of error. */
 	memset(&error, 0x88, sizeof(error));
 
-	if (is_indirect_list)
+	if (indirect_list)
 		queue_action_list_handle_create(port_id, queue_id, pia, job,
 						&attr, conf, action, &error);
 	else
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 9b10a9ea1c..5bb1a79330 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -996,6 +996,7 @@ int port_queue_flow_update(portid_t port_id, queueid_t queue_id,
 			   const struct rte_flow_action *actions);
 int port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
 			bool postpone, uint32_t id,
+			bool indirect_list,
 			const struct rte_flow_indir_action_conf *conf,
 			const struct rte_flow_action *action);
 int port_queue_action_handle_destroy(portid_t port_id,
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-04-13 20:43:07.414113375 +0800
+++ 0079-app-testpmd-fix-async-indirect-action-list-creation.patch	2024-04-13 20:43:05.037753879 +0800
@@ -1 +1 @@
-From c1496cb606875e7fda120a41435731fccff8f664 Mon Sep 17 00:00:00 2001
+From 15952c71eb673ca8ce6acd754bd39ef367896423 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit c1496cb606875e7fda120a41435731fccff8f664 ]
@@ -14 +16,0 @@
-Cc: stable at dpdk.org
@@ -25 +27 @@
-index 5f761903c1..fd6c51f72d 100644
+index 5647add29a..b19b3205f0 100644
@@ -28 +30 @@
-@@ -13237,6 +13237,7 @@ cmd_flow_parsed(const struct buffer *in)
+@@ -12609,6 +12609,7 @@ cmd_flow_parsed(const struct buffer *in)
@@ -37 +39 @@
-index 968d2164ab..ba1007ace6 100644
+index 7c24e401ec..6d605556ff 100644
@@ -40 +42 @@
-@@ -3099,6 +3099,7 @@ port_queue_flow_update(portid_t port_id, queueid_t queue_id,
+@@ -2996,6 +2996,7 @@ port_queue_flow_update(portid_t port_id, queueid_t queue_id,
@@ -48 +50 @@
-@@ -3108,8 +3109,6 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
+@@ -3005,8 +3006,6 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
@@ -57 +59 @@
-@@ -3131,7 +3130,7 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
+@@ -3028,7 +3027,7 @@ port_queue_action_handle_create(portid_t port_id, uint32_t queue_id,
@@ -67 +69 @@
-index 55df12033a..0afae7d771 100644
+index 9b10a9ea1c..5bb1a79330 100644
@@ -70 +72 @@
-@@ -1002,6 +1002,7 @@ int port_queue_flow_update(portid_t port_id, queueid_t queue_id,
+@@ -996,6 +996,7 @@ int port_queue_flow_update(portid_t port_id, queueid_t queue_id,


More information about the stable mailing list