[PATCH v5 03/10] net/mlx5/hws: add mlx5dr DevX object struct to mlx5dr action
Gregory Etelson
getelson at nvidia.com
Wed Oct 25 12:27:20 CEST 2023
From: Hamdan Igbaria <hamdani at nvidia.com>
Add mlx5dr_devx_obj struct to mlx5dr_action, so we could hold
the FT obj in dest table action.
Signed-off-by: Hamdan Igbaria <hamdani at nvidia.com>
Acked-by: Suanming Mou <suanmingm at nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr_action.c | 4 ++++
drivers/net/mlx5/hws/mlx5dr_action.h | 3 +++
drivers/net/mlx5/hws/mlx5dr_table.c | 1 -
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_action.c b/drivers/net/mlx5/hws/mlx5dr_action.c
index ea9fc23732..55ec4f71c9 100644
--- a/drivers/net/mlx5/hws/mlx5dr_action.c
+++ b/drivers/net/mlx5/hws/mlx5dr_action.c
@@ -787,6 +787,8 @@ mlx5dr_action_create_dest_table(struct mlx5dr_context *ctx,
ret = mlx5dr_action_create_stcs(action, tbl->ft);
if (ret)
goto free_action;
+
+ action->devx_dest.devx_obj = tbl->ft;
}
return action;
@@ -864,6 +866,8 @@ mlx5dr_action_create_dest_tir(struct mlx5dr_context *ctx,
ret = mlx5dr_action_create_stcs(action, cur_obj);
if (ret)
goto clean_obj;
+
+ action->devx_dest.devx_obj = cur_obj;
}
return action;
diff --git a/drivers/net/mlx5/hws/mlx5dr_action.h b/drivers/net/mlx5/hws/mlx5dr_action.h
index 314e289780..104c6880c1 100644
--- a/drivers/net/mlx5/hws/mlx5dr_action.h
+++ b/drivers/net/mlx5/hws/mlx5dr_action.h
@@ -148,6 +148,9 @@ struct mlx5dr_action {
struct {
struct mlx5dv_steering_anchor *sa;
} root_tbl;
+ struct {
+ struct mlx5dr_devx_obj *devx_obj;
+ } devx_dest;
};
};
diff --git a/drivers/net/mlx5/hws/mlx5dr_table.c b/drivers/net/mlx5/hws/mlx5dr_table.c
index e1150cd75d..91eb92db78 100644
--- a/drivers/net/mlx5/hws/mlx5dr_table.c
+++ b/drivers/net/mlx5/hws/mlx5dr_table.c
@@ -68,7 +68,6 @@ static void mlx5dr_table_down_default_fdb_miss_tbl(struct mlx5dr_table *tbl)
return;
mlx5dr_cmd_forward_tbl_destroy(default_miss);
-
ctx->common_res[tbl_type].default_miss = NULL;
}
--
2.39.2
More information about the dev
mailing list