From: Itamar Gozlan <igozlan@nvidia.com>
To: <valex@nvidia.com>, <viacheslavo@nvidia.com>, <matan@nvidia.com>,
<thomas@monjalon.net>, <suanmingm@nvidia.com>,
Ori Kam <orika@nvidia.com>
Cc: <dev@dpdk.org>, Shun Hao <shunh@nvidia.com>
Subject: [v1 3/5] net/mlx5/hws: remove duplicated reformat type
Date: Tue, 4 Jul 2023 13:46:43 +0300 [thread overview]
Message-ID: <20230704104645.19800-3-igozlan@nvidia.com> (raw)
In-Reply-To: <20230704104645.19800-1-igozlan@nvidia.com>
From: Shun Hao <shunh@nvidia.com>
Currently there are two enum definitions for reformat type:
mlx5dr_action_reformat_type and mlx5dr_action_type. They are actually
the same. This patch remove the unnecessary mlx5dr_action_reformat_type
so use only one definition for reformat type.
Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr.h | 19 ++---
drivers/net/mlx5/hws/mlx5dr_action.c | 110 ++++++++++----------------
drivers/net/mlx5/hws/mlx5dr_debug.c | 8 +-
drivers/net/mlx5/hws/mlx5dr_pat_arg.c | 2 +-
drivers/net/mlx5/mlx5_flow_hw.c | 34 ++++----
5 files changed, 68 insertions(+), 105 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr.h b/drivers/net/mlx5/hws/mlx5dr.h
index 7942fb0a8f..7d5af4c9bb 100644
--- a/drivers/net/mlx5/hws/mlx5dr.h
+++ b/drivers/net/mlx5/hws/mlx5dr.h
@@ -29,10 +29,10 @@ enum mlx5dr_matcher_resource_mode {
enum mlx5dr_action_type {
MLX5DR_ACTION_TYP_LAST,
- MLX5DR_ACTION_TYP_TNL_L2_TO_L2,
- MLX5DR_ACTION_TYP_L2_TO_TNL_L2,
- MLX5DR_ACTION_TYP_TNL_L3_TO_L2,
- MLX5DR_ACTION_TYP_L2_TO_TNL_L3,
+ MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2,
+ MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2,
+ MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2,
+ MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3,
MLX5DR_ACTION_TYP_DROP,
MLX5DR_ACTION_TYP_TIR,
MLX5DR_ACTION_TYP_FT,
@@ -62,13 +62,6 @@ enum mlx5dr_action_flags {
MLX5DR_ACTION_FLAG_SHARED = 1 << 6,
};
-enum mlx5dr_action_reformat_type {
- MLX5DR_ACTION_REFORMAT_TYPE_TNL_L2_TO_L2,
- MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L2,
- MLX5DR_ACTION_REFORMAT_TYPE_TNL_L3_TO_L2,
- MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L3,
-};
-
enum mlx5dr_action_aso_meter_color {
MLX5DR_ACTION_ASO_METER_COLOR_RED = 0x0,
MLX5DR_ACTION_ASO_METER_COLOR_YELLOW = 0x1,
@@ -487,7 +480,7 @@ mlx5dr_action_create_counter(struct mlx5dr_context *ctx,
* @param[in] ctx
* The context in which the new action will be created.
* @param[in] reformat_type
- * Type of reformat.
+ * Type of reformat prefixed with MLX5DR_ACTION_TYP_REFORMAT.
* @param[in] data_sz
* Size in bytes of data.
* @param[in] inline_data
@@ -500,7 +493,7 @@ mlx5dr_action_create_counter(struct mlx5dr_context *ctx,
*/
struct mlx5dr_action *
mlx5dr_action_create_reformat(struct mlx5dr_context *ctx,
- enum mlx5dr_action_reformat_type reformat_type,
+ enum mlx5dr_action_type reformat_type,
size_t data_sz,
void *inline_data,
uint32_t log_bulk_size,
diff --git a/drivers/net/mlx5/hws/mlx5dr_action.c b/drivers/net/mlx5/hws/mlx5dr_action.c
index e2db85940c..851cee8802 100644
--- a/drivers/net/mlx5/hws/mlx5dr_action.c
+++ b/drivers/net/mlx5/hws/mlx5dr_action.c
@@ -18,8 +18,8 @@
static const uint32_t action_order_arr[MLX5DR_TABLE_TYPE_MAX][MLX5DR_ACTION_TYP_MAX] = {
[MLX5DR_TABLE_TYPE_NIC_RX] = {
BIT(MLX5DR_ACTION_TYP_TAG),
- BIT(MLX5DR_ACTION_TYP_TNL_L2_TO_L2) |
- BIT(MLX5DR_ACTION_TYP_TNL_L3_TO_L2),
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2) |
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2),
BIT(MLX5DR_ACTION_TYP_POP_VLAN),
BIT(MLX5DR_ACTION_TYP_POP_VLAN),
BIT(MLX5DR_ACTION_TYP_CTR),
@@ -28,8 +28,8 @@ static const uint32_t action_order_arr[MLX5DR_TABLE_TYPE_MAX][MLX5DR_ACTION_TYP_
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_MODIFY_HDR),
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L2) |
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L3),
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2) |
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3),
BIT(MLX5DR_ACTION_TYP_FT) |
BIT(MLX5DR_ACTION_TYP_MISS) |
BIT(MLX5DR_ACTION_TYP_TIR) |
@@ -46,8 +46,8 @@ static const uint32_t action_order_arr[MLX5DR_TABLE_TYPE_MAX][MLX5DR_ACTION_TYP_
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_MODIFY_HDR),
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L2) |
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L3),
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2) |
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3),
BIT(MLX5DR_ACTION_TYP_FT) |
BIT(MLX5DR_ACTION_TYP_MISS) |
BIT(MLX5DR_ACTION_TYP_DROP) |
@@ -55,8 +55,8 @@ static const uint32_t action_order_arr[MLX5DR_TABLE_TYPE_MAX][MLX5DR_ACTION_TYP_
BIT(MLX5DR_ACTION_TYP_LAST),
},
[MLX5DR_TABLE_TYPE_FDB] = {
- BIT(MLX5DR_ACTION_TYP_TNL_L2_TO_L2) |
- BIT(MLX5DR_ACTION_TYP_TNL_L3_TO_L2),
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2) |
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2),
BIT(MLX5DR_ACTION_TYP_POP_VLAN),
BIT(MLX5DR_ACTION_TYP_POP_VLAN),
BIT(MLX5DR_ACTION_TYP_CTR),
@@ -65,8 +65,8 @@ static const uint32_t action_order_arr[MLX5DR_TABLE_TYPE_MAX][MLX5DR_ACTION_TYP_
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_PUSH_VLAN),
BIT(MLX5DR_ACTION_TYP_MODIFY_HDR),
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L2) |
- BIT(MLX5DR_ACTION_TYP_L2_TO_TNL_L3),
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2) |
+ BIT(MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3),
BIT(MLX5DR_ACTION_TYP_FT) |
BIT(MLX5DR_ACTION_TYP_MISS) |
BIT(MLX5DR_ACTION_TYP_VPORT) |
@@ -292,10 +292,10 @@ int mlx5dr_action_root_build_attr(struct mlx5dr_rule_action rule_actions[],
case MLX5DR_ACTION_TYP_DROP:
attr[i].type = MLX5DV_FLOW_ACTION_DROP;
break;
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
case MLX5DR_ACTION_TYP_MODIFY_HDR:
attr[i].type = MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION;
attr[i].action = action->flow_action;
@@ -503,7 +503,7 @@ static void mlx5dr_action_fill_stc_attr(struct mlx5dr_action *action,
attr->action_offset = MLX5DR_ACTION_OFFSET_HIT;
attr->dest_tir_num = obj->id;
break;
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
case MLX5DR_ACTION_TYP_MODIFY_HDR:
attr->action_offset = MLX5DR_ACTION_OFFSET_DW6;
if (action->modify_header.num_of_actions == 1) {
@@ -529,14 +529,14 @@ static void mlx5dr_action_fill_stc_attr(struct mlx5dr_action *action,
attr->action_offset = MLX5DR_ACTION_OFFSET_HIT;
attr->dest_table_id = action->root_tbl.sa->id;
break;
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_REMOVE;
attr->action_offset = MLX5DR_ACTION_OFFSET_DW5;
attr->remove_header.decap = 1;
attr->remove_header.start_anchor = MLX5_HEADER_ANCHOR_PACKET_START;
attr->remove_header.end_anchor = MLX5_HEADER_ANCHOR_INNER_MAC;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_INSERT;
attr->action_offset = MLX5DR_ACTION_OFFSET_DW6;
attr->insert_header.encap = 1;
@@ -544,7 +544,7 @@ static void mlx5dr_action_fill_stc_attr(struct mlx5dr_action *action,
attr->insert_header.arg_id = action->reformat.arg_obj->id;
attr->insert_header.header_size = action->reformat.header_size;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_INSERT;
attr->action_offset = MLX5DR_ACTION_OFFSET_DW6;
attr->insert_header.encap = 1;
@@ -1128,49 +1128,24 @@ mlx5dr_action_create_pop_vlan(struct mlx5dr_context *ctx, uint32_t flags)
return NULL;
}
-static int
-mlx5dr_action_conv_reformat_type_to_action(uint32_t reformat_type,
- enum mlx5dr_action_type *action_type)
-{
- switch (reformat_type) {
- case MLX5DR_ACTION_REFORMAT_TYPE_TNL_L2_TO_L2:
- *action_type = MLX5DR_ACTION_TYP_TNL_L2_TO_L2;
- break;
- case MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L2:
- *action_type = MLX5DR_ACTION_TYP_L2_TO_TNL_L2;
- break;
- case MLX5DR_ACTION_REFORMAT_TYPE_TNL_L3_TO_L2:
- *action_type = MLX5DR_ACTION_TYP_TNL_L3_TO_L2;
- break;
- case MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L3:
- *action_type = MLX5DR_ACTION_TYP_L2_TO_TNL_L3;
- break;
- default:
- DR_LOG(ERR, "Invalid reformat type requested");
- rte_errno = ENOTSUP;
- return rte_errno;
- }
- return 0;
-}
-
static void
mlx5dr_action_conv_reformat_to_verbs(uint32_t action_type,
uint32_t *verb_reformat_type)
{
switch (action_type) {
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
*verb_reformat_type =
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
*verb_reformat_type =
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL;
break;
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
*verb_reformat_type =
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
*verb_reformat_type =
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL;
break;
@@ -1470,16 +1445,16 @@ mlx5dr_action_create_reformat_hws(struct mlx5dr_context *ctx,
int ret;
switch (action->type) {
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
ret = mlx5dr_action_create_stcs(action, NULL);
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
ret = mlx5dr_action_handle_l2_to_tunnel_l2(ctx, data_sz, data, bulk_size, action);
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
ret = mlx5dr_action_handle_l2_to_tunnel_l3(ctx, data_sz, data, bulk_size, action);
break;
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
ret = mlx5dr_action_handle_tunnel_l3_to_l2(ctx, data_sz, data, bulk_size, action);
break;
@@ -1494,21 +1469,16 @@ mlx5dr_action_create_reformat_hws(struct mlx5dr_context *ctx,
struct mlx5dr_action *
mlx5dr_action_create_reformat(struct mlx5dr_context *ctx,
- enum mlx5dr_action_reformat_type reformat_type,
+ enum mlx5dr_action_type reformat_type,
size_t data_sz,
void *inline_data,
uint32_t log_bulk_size,
uint32_t flags)
{
- enum mlx5dr_action_type action_type;
struct mlx5dr_action *action;
int ret;
- ret = mlx5dr_action_conv_reformat_type_to_action(reformat_type, &action_type);
- if (ret)
- return NULL;
-
- action = mlx5dr_action_create_generic(ctx, flags, action_type);
+ action = mlx5dr_action_create_generic(ctx, flags, reformat_type);
if (!action)
return NULL;
@@ -1712,7 +1682,7 @@ static void mlx5dr_action_destroy_hws(struct mlx5dr_action *action)
case MLX5DR_ACTION_TYP_DROP:
case MLX5DR_ACTION_TYP_CTR:
case MLX5DR_ACTION_TYP_FT:
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
case MLX5DR_ACTION_TYP_ASO_METER:
case MLX5DR_ACTION_TYP_ASO_CT:
case MLX5DR_ACTION_TYP_PUSH_VLAN:
@@ -1726,18 +1696,18 @@ static void mlx5dr_action_destroy_hws(struct mlx5dr_action *action)
mlx5dr_action_destroy_stcs(action);
mlx5dr_action_put_shared_stc(action, MLX5DR_CONTEXT_SHARED_STC_POP);
break;
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
case MLX5DR_ACTION_TYP_MODIFY_HDR:
mlx5dr_action_destroy_stcs(action);
if (action->modify_header.num_of_actions > 1)
mlx5dr_pat_arg_destroy_modify_header(action->ctx, action);
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
mlx5dr_action_destroy_stcs(action);
mlx5dr_action_put_shared_stc(action, MLX5DR_CONTEXT_SHARED_STC_DECAP);
mlx5dr_cmd_destroy_obj(action->reformat.arg_obj);
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
mlx5dr_action_destroy_stcs(action);
mlx5dr_cmd_destroy_obj(action->reformat.arg_obj);
break;
@@ -1747,10 +1717,10 @@ static void mlx5dr_action_destroy_hws(struct mlx5dr_action *action)
static void mlx5dr_action_destroy_root(struct mlx5dr_action *action)
{
switch (action->type) {
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
case MLX5DR_ACTION_TYP_MODIFY_HDR:
ibv_destroy_flow_action(action->flow_action);
break;
@@ -2256,7 +2226,7 @@ int mlx5dr_action_template_process(struct mlx5dr_action_template *at)
setter->idx_double = i;
break;
- case MLX5DR_ACTION_TYP_TNL_L2_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2:
/* Single remove header to header */
setter = mlx5dr_action_setter_find_first(last_setter, ASF_SINGLE1 | ASF_MODIFY);
setter->flags |= ASF_SINGLE1 | ASF_REMOVE | ASF_REPARSE;
@@ -2264,7 +2234,7 @@ int mlx5dr_action_template_process(struct mlx5dr_action_template *at)
setter->idx_single = i;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2:
/* Double insert header with pointer */
setter = mlx5dr_action_setter_find_first(last_setter, ASF_DOUBLE);
setter->flags |= ASF_DOUBLE | ASF_REPARSE;
@@ -2272,7 +2242,7 @@ int mlx5dr_action_template_process(struct mlx5dr_action_template *at)
setter->idx_double = i;
break;
- case MLX5DR_ACTION_TYP_L2_TO_TNL_L3:
+ case MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3:
/* Single remove + Double insert header with pointer */
setter = mlx5dr_action_setter_find_first(last_setter, ASF_SINGLE1 | ASF_DOUBLE);
setter->flags |= ASF_SINGLE1 | ASF_DOUBLE | ASF_REPARSE | ASF_REMOVE;
@@ -2282,7 +2252,7 @@ int mlx5dr_action_template_process(struct mlx5dr_action_template *at)
setter->idx_single = i;
break;
- case MLX5DR_ACTION_TYP_TNL_L3_TO_L2:
+ case MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2:
/* Double modify header list with remove and push inline */
setter = mlx5dr_action_setter_find_first(last_setter,
ASF_DOUBLE | ASF_REMOVE);
diff --git a/drivers/net/mlx5/hws/mlx5dr_debug.c b/drivers/net/mlx5/hws/mlx5dr_debug.c
index d249f8d869..5064b23b7d 100644
--- a/drivers/net/mlx5/hws/mlx5dr_debug.c
+++ b/drivers/net/mlx5/hws/mlx5dr_debug.c
@@ -6,10 +6,10 @@
const char *mlx5dr_debug_action_type_str[] = {
[MLX5DR_ACTION_TYP_LAST] = "LAST",
- [MLX5DR_ACTION_TYP_TNL_L2_TO_L2] = "TNL_L2_TO_L2",
- [MLX5DR_ACTION_TYP_L2_TO_TNL_L2] = "L2_TO_TNL_L2",
- [MLX5DR_ACTION_TYP_TNL_L3_TO_L2] = "TNL_L3_TO_L2",
- [MLX5DR_ACTION_TYP_L2_TO_TNL_L3] = "L2_TO_TNL_L3",
+ [MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2] = "TNL_L2_TO_L2",
+ [MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2] = "L2_TO_TNL_L2",
+ [MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2] = "TNL_L3_TO_L2",
+ [MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3] = "L2_TO_TNL_L3",
[MLX5DR_ACTION_TYP_DROP] = "DROP",
[MLX5DR_ACTION_TYP_TIR] = "TIR",
[MLX5DR_ACTION_TYP_FT] = "FT",
diff --git a/drivers/net/mlx5/hws/mlx5dr_pat_arg.c b/drivers/net/mlx5/hws/mlx5dr_pat_arg.c
index bedaedb677..309a61d477 100644
--- a/drivers/net/mlx5/hws/mlx5dr_pat_arg.c
+++ b/drivers/net/mlx5/hws/mlx5dr_pat_arg.c
@@ -73,7 +73,7 @@ static bool mlx5dr_pat_compare_pattern(enum mlx5dr_action_type cur_type,
return false;
/* All decap-l3 look the same, only change is the num of actions */
- if (type == MLX5DR_ACTION_TYP_TNL_L3_TO_L2)
+ if (type == MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2)
return true;
for (i = 0; i < num_of_actions; i++) {
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 330386df77..e1adc081c1 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -1420,7 +1420,7 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
struct rte_flow_action *actions = at->actions;
struct rte_flow_action *action_start = actions;
struct rte_flow_action *masks = at->masks;
- enum mlx5dr_action_reformat_type refmt_type = 0;
+ enum mlx5dr_action_type refmt_type = 0;
const struct rte_flow_action_raw_encap *raw_encap_data;
const struct rte_flow_item *enc_item = NULL, *enc_item_m = NULL;
uint16_t reformat_src = 0;
@@ -1575,7 +1575,7 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
masks->conf)->definition;
reformat_used = true;
reformat_src = actions - action_start;
- refmt_type = MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L2;
+ refmt_type = MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2;
break;
case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP:
MLX5_ASSERT(!reformat_used);
@@ -1586,13 +1586,13 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
masks->conf)->definition;
reformat_used = true;
reformat_src = actions - action_start;
- refmt_type = MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L2;
+ refmt_type = MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2;
break;
case RTE_FLOW_ACTION_TYPE_VXLAN_DECAP:
case RTE_FLOW_ACTION_TYPE_NVGRE_DECAP:
MLX5_ASSERT(!reformat_used);
reformat_used = true;
- refmt_type = MLX5DR_ACTION_REFORMAT_TYPE_TNL_L2_TO_L2;
+ refmt_type = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2;
break;
case RTE_FLOW_ACTION_TYPE_RAW_ENCAP:
raw_encap_data =
@@ -1608,18 +1608,18 @@ __flow_hw_actions_translate(struct rte_eth_dev *dev,
if (reformat_used) {
refmt_type = data_size <
MLX5_ENCAPSULATION_DECISION_SIZE ?
- MLX5DR_ACTION_REFORMAT_TYPE_TNL_L3_TO_L2 :
- MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L3;
+ MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2 :
+ MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3;
} else {
reformat_used = true;
refmt_type =
- MLX5DR_ACTION_REFORMAT_TYPE_L2_TO_TNL_L2;
+ MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2;
}
reformat_src = actions - action_start;
break;
case RTE_FLOW_ACTION_TYPE_RAW_DECAP:
reformat_used = true;
- refmt_type = MLX5DR_ACTION_REFORMAT_TYPE_TNL_L2_TO_L2;
+ refmt_type = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2;
break;
case RTE_FLOW_ACTION_TYPE_SEND_TO_KERNEL:
flow_hw_translate_group(dev, cfg, attr->group,
@@ -4523,10 +4523,10 @@ static enum mlx5dr_action_type mlx5_hw_dr_action_types[] = {
[RTE_FLOW_ACTION_TYPE_JUMP] = MLX5DR_ACTION_TYP_FT,
[RTE_FLOW_ACTION_TYPE_QUEUE] = MLX5DR_ACTION_TYP_TIR,
[RTE_FLOW_ACTION_TYPE_RSS] = MLX5DR_ACTION_TYP_TIR,
- [RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP] = MLX5DR_ACTION_TYP_L2_TO_TNL_L2,
- [RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP] = MLX5DR_ACTION_TYP_L2_TO_TNL_L2,
- [RTE_FLOW_ACTION_TYPE_VXLAN_DECAP] = MLX5DR_ACTION_TYP_TNL_L2_TO_L2,
- [RTE_FLOW_ACTION_TYPE_NVGRE_DECAP] = MLX5DR_ACTION_TYP_TNL_L2_TO_L2,
+ [RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP] = MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2,
+ [RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP] = MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2,
+ [RTE_FLOW_ACTION_TYPE_VXLAN_DECAP] = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2,
+ [RTE_FLOW_ACTION_TYPE_NVGRE_DECAP] = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2,
[RTE_FLOW_ACTION_TYPE_MODIFY_FIELD] = MLX5DR_ACTION_TYP_MODIFY_HDR,
[RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT] = MLX5DR_ACTION_TYP_VPORT,
[RTE_FLOW_ACTION_TYPE_CONNTRACK] = MLX5DR_ACTION_TYP_ASO_CT,
@@ -4604,7 +4604,7 @@ flow_hw_dr_actions_template_create(struct rte_flow_actions_template *at)
enum mlx5dr_action_type action_types[MLX5_HW_MAX_ACTS] = { MLX5DR_ACTION_TYP_LAST };
unsigned int i;
uint16_t curr_off;
- enum mlx5dr_action_type reformat_act_type = MLX5DR_ACTION_TYP_TNL_L2_TO_L2;
+ enum mlx5dr_action_type reformat_act_type = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2;
uint16_t reformat_off = UINT16_MAX;
uint16_t mhdr_off = UINT16_MAX;
uint16_t cnt_off = UINT16_MAX;
@@ -4642,16 +4642,16 @@ flow_hw_dr_actions_template_create(struct rte_flow_actions_template *at)
data_size = raw_encap_data->size;
if (reformat_off != UINT16_MAX) {
reformat_act_type = data_size < MLX5_ENCAPSULATION_DECISION_SIZE ?
- MLX5DR_ACTION_TYP_TNL_L3_TO_L2 :
- MLX5DR_ACTION_TYP_L2_TO_TNL_L3;
+ MLX5DR_ACTION_TYP_REFORMAT_TNL_L3_TO_L2 :
+ MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L3;
} else {
reformat_off = curr_off++;
- reformat_act_type = MLX5DR_ACTION_TYP_L2_TO_TNL_L2;
+ reformat_act_type = MLX5DR_ACTION_TYP_REFORMAT_L2_TO_TNL_L2;
}
break;
case RTE_FLOW_ACTION_TYPE_RAW_DECAP:
reformat_off = curr_off++;
- reformat_act_type = MLX5DR_ACTION_TYP_TNL_L2_TO_L2;
+ reformat_act_type = MLX5DR_ACTION_TYP_REFORMAT_TNL_L2_TO_L2;
break;
case RTE_FLOW_ACTION_TYPE_MODIFY_FIELD:
if (mhdr_off == UINT16_MAX) {
--
2.18.1
next prev parent reply other threads:[~2023-07-04 10:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-29 7:21 [PATCH 1/5] net/mlx5/hws: remove uneeded new line for DR_LOG Itamar Gozlan
2023-06-29 7:21 ` [PATCH 2/5] net/mlx5/hws: allow destroying rule resources on error Itamar Gozlan
2023-06-29 7:21 ` [PATCH 3/5] net/mlx5/hws: remove duplicated reformat type Itamar Gozlan
2023-06-29 7:21 ` [PATCH 4/5] net/mlx5/hws: renaming FT to TBL Itamar Gozlan
2023-06-29 7:21 ` [PATCH 5/5] net/mlx5/hws: support default miss action on FDB Itamar Gozlan
2023-07-02 4:57 ` [v2 1/5] net/mlx5: support indirect list METER_MARK action Itamar Gozlan
2023-07-02 4:57 ` [v2 2/5] app/testpmd: support indirect actions list syntax Itamar Gozlan
2023-07-02 4:57 ` [v2 3/5] net/mlx5: add indirect encap decap support Itamar Gozlan
2023-07-02 4:57 ` [v2 4/5] net/mlx5: support symmetric RSS hash function Itamar Gozlan
2023-07-04 10:46 ` [v1 1/5] net/mlx5/hws: remove uneeded new line for DR_LOG Itamar Gozlan
2023-07-04 10:46 ` [v1 2/5] net/mlx5/hws: allow destroying rule resources on error Itamar Gozlan
2023-07-04 10:46 ` Itamar Gozlan [this message]
2023-07-04 10:46 ` [v1 4/5] net/mlx5/hws: renaming FT to TBL Itamar Gozlan
2023-07-04 10:46 ` [v1 5/5] net/mlx5/hws: support default miss action on FDB Itamar Gozlan
2023-07-04 16:04 ` [v3 1/5] net/mlx5/hws: remove unneeded new line for DR_LOG Itamar Gozlan
2023-07-04 16:04 ` [v3 2/5] net/mlx5/hws: allow destroying rule resources on error Itamar Gozlan
2023-07-04 16:04 ` [v3 3/5] net/mlx5/hws: remove duplicated reformat type Itamar Gozlan
2023-07-04 16:04 ` [v3 4/5] net/mlx5/hws: renaming FT to TBL Itamar Gozlan
2023-07-04 16:04 ` [v3 5/5] net/mlx5/hws: support default miss action on FDB Itamar Gozlan
2023-07-06 14:57 ` [v3 1/5] net/mlx5/hws: remove unneeded new line for DR_LOG Raslan Darawsheh
2023-07-02 4:57 ` [v2 5/5] net/mlx5/hws: support default miss action on FDB Itamar Gozlan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230704104645.19800-3-igozlan@nvidia.com \
--to=igozlan@nvidia.com \
--cc=dev@dpdk.org \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=shunh@nvidia.com \
--cc=suanmingm@nvidia.com \
--cc=thomas@monjalon.net \
--cc=valex@nvidia.com \
--cc=viacheslavo@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).