[PATCH] ethdev: fix indirect action convert
Suanming Mou
suanmingm at nvidia.com
Fri May 26 05:18:00 CEST 2023
As indirect action conf fills the indirect action handler, while
converting indirect action, the action conf(action handler) should
be copied from original indirect action conf instead of duplicating
the action handler memory.
Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action")
Signed-off-by: Suanming Mou <suanmingm at nvidia.com>
---
lib/ethdev/rte_flow.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 69e6e749f7..ff740f19a4 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -889,7 +889,15 @@ rte_flow_conv_actions(struct rte_flow_action *dst,
src -= num;
dst -= num;
do {
- if (src->conf) {
+ if (src->type == RTE_FLOW_ACTION_TYPE_INDIRECT) {
+ /*
+ * Indirect action conf fills the indirect action
+ * handler. Copy the action handle directly instead
+ * of duplicating the pointer memory.
+ */
+ if (size)
+ dst->conf = src->conf;
+ } else if (src->conf) {
off = RTE_ALIGN_CEIL(off, sizeof(double));
ret = rte_flow_conv_action_conf
((void *)(data + off),
--
2.25.1
More information about the dev
mailing list