net/mlx5: fix VLAN push/pop and decap actions with mirror
authorJiawei Wang <jiaweiw@nvidia.com>
Fri, 9 Apr 2021 12:36:42 +0000 (15:36 +0300)
committerRaslan Darawsheh <rasland@nvidia.com>
Mon, 19 Apr 2021 10:45:06 +0000 (12:45 +0200)
commitcafd87f62a06ca802e25747b5a9cb38ece98889e
tree06bb6c142aee1930bb1cf0c61fdabdd42720306a
parentbd0a931543d9fcb437a10b6c86efcba394a4adb2
net/mlx5: fix VLAN push/pop and decap actions with mirror

Due to hardware limitations the VLAN push/pop and decap actions following
the sample action are supported in the FDB Tx steering domain only, the
flows with incorrect action order for other domains are rejected by
rdma-core.

To provide the action order requested in flow API this patch checks for
the VLAN or decap precedence to the sample action and moves the VLAN or
decap actions into the next flow in the new table and adds the jump
action in the prefix sample flow.

This patch also adds the validation for these combination actions.

Fixes: 255b8f86eb6e ("net/mlx5: fix E-Switch egress mirror flow validation")
Cc: stable@dpdk.org
Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow.c
drivers/net/mlx5/mlx5_flow_dv.c