net/mlx5: fix check for VLAN actions
authorDekel Peled <dekelp@mellanox.com>
Wed, 22 Jan 2020 14:27:14 +0000 (16:27 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 5 Feb 2020 08:51:20 +0000 (09:51 +0100)
Flow validation function includes, after all items and actions are
validated discretely, a check for VLAN and VXLAN actions.
This check is incorrect and redundant.

This patch removes the invalid check from validation function.
Check is incorrect, action_flags bit map is checked against
items mask MLX5_FLOW_LAYER_TUNNEL.
Check is also redundant, because VLAN push/pop actions can be used
together with packet reformat actions.

Fixes: b41e47da2592 ("net/mlx5: support pop flow action on VLAN header")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
drivers/net/mlx5/mlx5_flow_dv.c

index 5a1b426..afa3d0e 100644 (file)
@@ -5060,13 +5060,6 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
                                                  "action not supported");
                }
        }
-       if ((action_flags & MLX5_FLOW_LAYER_TUNNEL) &&
-           (action_flags & MLX5_FLOW_VLAN_ACTIONS))
-               return rte_flow_error_set(error, ENOTSUP,
-                                         RTE_FLOW_ERROR_TYPE_ACTION,
-                                         actions,
-                                         "can't have vxlan and vlan"
-                                         " actions in the same rule");
        /* Eswitch has few restrictions on using items and actions */
        if (attr->transfer) {
                if (!mlx5_flow_ext_mreg_supported(dev) &&