common/mlx5: add functions for single flow dump
[dpdk.git] / drivers / common / mlx5 / mlx5_devx_cmds.c
index c90e020..ec6069b 100644 (file)
@@ -266,6 +266,7 @@ mlx5_devx_cmd_mkey_create(void *ctx,
        MLX5_SET(mkc, mkc, qpn, 0xffffff);
        MLX5_SET(mkc, mkc, pd, attr->pd);
        MLX5_SET(mkc, mkc, mkey_7_0, attr->umem_id & 0xFF);
+       MLX5_SET(mkc, mkc, umr_en, attr->umr_en);
        MLX5_SET(mkc, mkc, translations_octword_size, translation_size);
        MLX5_SET(mkc, mkc, relaxed_ordering_write,
                 attr->relaxed_ordering_write);
@@ -752,6 +753,10 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
                                                mini_cqe_resp_flow_tag);
        attr->mini_cqe_resp_l3_l4_tag = MLX5_GET(cmd_hca_cap, hcattr,
                                                 mini_cqe_resp_l3_l4_tag);
+       attr->umr_indirect_mkey_disabled =
+               MLX5_GET(cmd_hca_cap, hcattr, umr_indirect_mkey_disabled);
+       attr->umr_modify_entity_size_disabled =
+               MLX5_GET(cmd_hca_cap, hcattr, umr_modify_entity_size_disabled);
        if (attr->qos.sup) {
                MLX5_SET(query_hca_cap_in, in, op_mod,
                         MLX5_GET_HCA_CAP_OP_MOD_QOS_CAP |
@@ -1579,6 +1584,20 @@ mlx5_devx_cmd_flow_dump(void *fdb_domain __rte_unused,
        return -ret;
 }
 
+int
+mlx5_devx_cmd_flow_single_dump(void *rule_info __rte_unused,
+                       FILE *file __rte_unused)
+{
+       int ret = 0;
+#ifdef HAVE_MLX5_DR_FLOW_DUMP_RULE
+       if (rule_info)
+               ret = mlx5_glue->dr_dump_rule(file, rule_info);
+#else
+       ret = ENOTSUP;
+#endif
+       return -ret;
+}
+
 /*
  * Create CQ using DevX API.
  *