[PATCH v3 12/73] net/ntnic: add ation jump
Serhii Iliushyk
sil-plv at napatech.com
Wed Oct 23 18:59:20 CEST 2024
Add possibility to use RTE_FLOW_ACTION_TYPE_JUMP
Signed-off-by: Serhii Iliushyk <sil-plv at napatech.com>
---
doc/guides/nics/features/ntnic.ini | 1 +
.../profile_inline/flow_api_profile_inline.c | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/doc/guides/nics/features/ntnic.ini b/doc/guides/nics/features/ntnic.ini
index 42ac9f9c31..f3334fc86d 100644
--- a/doc/guides/nics/features/ntnic.ini
+++ b/doc/guides/nics/features/ntnic.ini
@@ -17,6 +17,7 @@ x86-64 = Y
any = Y
[rte_flow actions]
+jump = Y
mark = Y
port_id = Y
queue = Y
diff --git a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c
index 96b7192edc..603039374a 100644
--- a/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c
+++ b/drivers/net/ntnic/nthw/flow_api/profile_inline/flow_api_profile_inline.c
@@ -402,6 +402,23 @@ static int interpret_flow_actions(const struct flow_eth_dev *dev,
break;
+ case RTE_FLOW_ACTION_TYPE_JUMP:
+ NT_LOG(DBG, FILTER, "Dev:%p: RTE_FLOW_ACTION_TYPE_JUMP", dev);
+
+ if (action[aidx].conf) {
+ struct rte_flow_action_jump jump_tmp;
+ const struct rte_flow_action_jump *jump =
+ memcpy_mask_if(&jump_tmp, action[aidx].conf,
+ action_mask ? action_mask[aidx].conf : NULL,
+ sizeof(struct rte_flow_action_jump));
+
+ fd->jump_to_group = jump->group;
+ NT_LOG(DBG, FILTER, "Dev:%p: RTE_FLOW_ACTION_TYPE_JUMP: group %u",
+ dev, jump->group);
+ }
+
+ break;
+
default:
NT_LOG(ERR, FILTER, "Invalid or unsupported flow action received - %i",
action[aidx].type);
--
2.45.0
More information about the dev
mailing list