Add possibility to use RTE_FLOW_ACTION_TYPE_JUMP

Signed-off-by: Serhii Iliushyk <sil-...@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

Reply via email to