net/mlx5: fix VLAN push action validation
authorDariusz Sosnowski <dsosnowski@nvidia.com>
Wed, 9 Mar 2022 09:39:20 +0000 (09:39 +0000)
committerRaslan Darawsheh <rasland@nvidia.com>
Wed, 9 Mar 2022 12:30:51 +0000 (13:30 +0100)
commit7c0c63c9a53964d40b27da618ab94303f28ea92e
tree25b7082e44c29d9a4e0bdc4de441768b92fec3a2
parentc251b6a688bb0aba7d7a46154a3b238916ebd1a0
net/mlx5: fix VLAN push action validation

Flow domain and direction was validated when OF_PUSH_VLAN action
appears in flow actions. Flow was rejected whenever this action:

- was used in NIC domain, in ingress direction;
- was used in FDB domain, in ingress direction, on ConnectX-5.

This validation logic rejected a valid case when the OF_PUSH_VLAN
action was used when directing traffic to the hairpin queue,
configured in TX implicit mode.

This patch moves code responsible for OF_PUSH_VLAN validation of
domain and direction from flow_dv_validate_push_vlan() to
flow_dv_validate(). Domain and direction are now validated when either
non-hairpin queue is used or hairpin queue is configured in Tx explicit
mode.

Fixes: 96f85ec489db ("net/mlx5: check VLAN push/pop support")
Cc: stable@dpdk.org
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow_dv.c