common/mlx5: fix flex parser DevX creation routine
authorGregory Etelson <getelson@nvidia.com>
Tue, 2 Nov 2021 08:53:40 +0000 (10:53 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 4 Nov 2021 21:55:36 +0000 (22:55 +0100)
Add missing modify_field_select, next_header_field_size
field values setting.

Fixes: 38119ebe01d6 ("common/mlx5: add DevX command for flex parsers")
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/common/mlx5/mlx5_devx_cmds.c

index 9b5a3b1..0c03c20 100644 (file)
@@ -620,10 +620,9 @@ mlx5_devx_cmd_query_parse_samples(struct mlx5_devx_obj *flex_obj,
        return ret;
 }
 
-
 struct mlx5_devx_obj *
 mlx5_devx_cmd_create_flex_parser(void *ctx,
-                             struct mlx5_devx_graph_node_attr *data)
+                                struct mlx5_devx_graph_node_attr *data)
 {
        uint32_t in[MLX5_ST_SZ_DW(create_flex_parser_in)] = {0};
        uint32_t out[MLX5_ST_SZ_DW(general_obj_out_cmd_hdr)] = {0};
@@ -647,12 +646,18 @@ mlx5_devx_cmd_create_flex_parser(void *ctx,
                 MLX5_GENERAL_OBJ_TYPE_FLEX_PARSE_GRAPH);
        MLX5_SET(parse_graph_flex, flex, header_length_mode,
                 data->header_length_mode);
+       MLX5_SET64(parse_graph_flex, flex, modify_field_select,
+                  data->modify_field_select);
        MLX5_SET(parse_graph_flex, flex, header_length_base_value,
                 data->header_length_base_value);
        MLX5_SET(parse_graph_flex, flex, header_length_field_offset,
                 data->header_length_field_offset);
        MLX5_SET(parse_graph_flex, flex, header_length_field_shift,
                 data->header_length_field_shift);
+       MLX5_SET(parse_graph_flex, flex, next_header_field_offset,
+                data->next_header_field_offset);
+       MLX5_SET(parse_graph_flex, flex, next_header_field_size,
+                data->next_header_field_size);
        MLX5_SET(parse_graph_flex, flex, header_length_field_mask,
                 data->header_length_field_mask);
        for (i = 0; i < MLX5_GRAPH_NODE_SAMPLE_NUM; i++) {