net/mlx5: fix VLAN ID action offset
authorSuanming Mou <suanmingm@mellanox.com>
Wed, 19 Feb 2020 14:15:17 +0000 (16:15 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 21 Feb 2020 10:41:20 +0000 (11:41 +0100)
Currently, the set VLAN ID header modify action has already got the
action pointer with offset from the header modify action array, but
the configuration saves the detail to the memory of action with the
offset again. It causes double offset to set the VLAN ID action to
the wrong place in the header modify array.

Remove the offset when get the action pointer to fix that issue.

Fixes: 5f163d520cff ("net/mlx5: support modify VLAN ID on existing VLAN header")
Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/net/mlx5/mlx5_flow_dv.c

index 467d1ce..99d668f 100644 (file)
@@ -573,7 +573,7 @@ flow_dv_convert_action_modify_vlan_vid
        const struct rte_flow_action_of_set_vlan_vid *conf =
                (const struct rte_flow_action_of_set_vlan_vid *)(action->conf);
        int i = resource->actions_num;
-       struct mlx5_modification_cmd *actions = &resource->actions[i];
+       struct mlx5_modification_cmd *actions = resource->actions;
        struct field_modify_info *field = modify_vlan_out_first_vid;
 
        if (i >= MLX5_MAX_MODIFY_NUM)