For context, table and matcher.

Signed-off-by: Erez Shitrit <ere...@nvidia.com>
Signed-off-by: Hamdan Igbaria <hamd...@nvidia.com>
Reviewed-by: Alex Vesker <va...@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>
---
 drivers/net/mlx5/hws/mlx5dr_debug.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/drivers/net/mlx5/hws/mlx5dr_debug.c 
b/drivers/net/mlx5/hws/mlx5dr_debug.c
index 55011c208d..239dfcae46 100644
--- a/drivers/net/mlx5/hws/mlx5dr_debug.c
+++ b/drivers/net/mlx5/hws/mlx5dr_debug.c
@@ -177,6 +177,7 @@ mlx5dr_debug_dump_matcher_attr(FILE *f, struct 
mlx5dr_matcher *matcher)
 
 static int mlx5dr_debug_dump_matcher(FILE *f, struct mlx5dr_matcher *matcher)
 {
+       bool is_shared = mlx5dr_context_shared_gvmi_used(matcher->tbl->ctx);
        bool is_root = matcher->tbl->level == MLX5DR_ROOT_LEVEL;
        enum mlx5dr_table_type tbl_type = matcher->tbl->type;
        struct mlx5dr_devx_obj *ste_0, *ste_1 = NULL;
@@ -205,11 +206,13 @@ static int mlx5dr_debug_dump_matcher(FILE *f, struct 
mlx5dr_matcher *matcher)
                ste_1 = NULL;
        }
 
-       ret = fprintf(f, ",%d,%d,%d,%d",
+       ret = fprintf(f, ",%d,%d,%d,%d,%d",
                      matcher->match_ste.rtc_0 ? matcher->match_ste.rtc_0->id : 
0,
                      ste_0 ? (int)ste_0->id : -1,
                      matcher->match_ste.rtc_1 ? matcher->match_ste.rtc_1->id : 
0,
-                     ste_1 ? (int)ste_1->id : -1);
+                     ste_1 ? (int)ste_1->id : -1,
+                     is_shared && !is_root ?
+                     matcher->match_ste.aliased_rtc_0->id : 0);
        if (ret < 0)
                goto out_err;
 
@@ -253,18 +256,20 @@ static int mlx5dr_debug_dump_matcher(FILE *f, struct 
mlx5dr_matcher *matcher)
 
 static int mlx5dr_debug_dump_table(FILE *f, struct mlx5dr_table *tbl)
 {
+       bool is_shared = mlx5dr_context_shared_gvmi_used(tbl->ctx);
        bool is_root = tbl->level == MLX5DR_ROOT_LEVEL;
        struct mlx5dr_matcher *matcher;
        int ret;
 
-       ret = fprintf(f, "%d,0x%" PRIx64 ",0x%" PRIx64 ",%d,%d,%d,%d\n",
+       ret = fprintf(f, "%d,0x%" PRIx64 ",0x%" PRIx64 ",%d,%d,%d,%d,%d\n",
                      MLX5DR_DEBUG_RES_TYPE_TABLE,
                      (uint64_t)(uintptr_t)tbl,
                      (uint64_t)(uintptr_t)tbl->ctx,
                      is_root ? 0 : tbl->ft->id,
                      tbl->type,
                      is_root ? 0 : tbl->fw_ft_type,
-                     tbl->level);
+                     tbl->level,
+                     is_shared && !is_root ? tbl->local_ft->id : 0);
        if (ret < 0) {
                rte_errno = EINVAL;
                return rte_errno;
@@ -383,12 +388,17 @@ static int mlx5dr_debug_dump_context_attr(FILE *f, struct 
mlx5dr_context *ctx)
 {
        int ret;
 
-       ret = fprintf(f, "%u,0x%" PRIx64 ",%d,%zu,%d\n",
+       ret = fprintf(f, "%u,0x%" PRIx64 ",%d,%zu,%d,%s,%d,%d\n",
                      MLX5DR_DEBUG_RES_TYPE_CONTEXT_ATTR,
                      (uint64_t)(uintptr_t)ctx,
                      ctx->pd_num,
                      ctx->queues,
-                     ctx->send_queue->num_entries);
+                     ctx->send_queue->num_entries,
+                     mlx5dr_context_shared_gvmi_used(ctx) ?
+                     mlx5_glue->get_device_name(ctx->ibv_ctx->device) : "None",
+                     ctx->caps->vhca_id,
+                     mlx5dr_context_shared_gvmi_used(ctx) ?
+                     ctx->caps->shared_vhca_id : 0xffff);
        if (ret < 0) {
                rte_errno = EINVAL;
                return rte_errno;
-- 
2.18.2

Reply via email to