net/mlx5: DR, Handle multi destination action in the right order
authorErez Shitrit <erezsh@nvidia.com>
Mon, 28 Aug 2023 11:37:12 +0000 (14:37 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 20 Sep 2023 06:33:08 +0000 (23:33 -0700)
commit3b81bcbaee28213ba7e6061c523db918c594ad67
tree7cdaa3ff6d551a2702e97da2cf4a49ed4366e2a3
parentf6f46e7173cb4613b84a0c0640355826ee39654f
net/mlx5: DR, Handle multi destination action in the right order

Whenever we have few destinations from Flow-table type we need to put
the one that goes to the wire to be the last one.

We are using FW in order to get iterator, the FW uses RX for the first
destinations and TX for the last destination, if we want the packet to
be directed to the wire it should be done in the TX path and not in the
RX.
The code now checks if the FT is directed to the wire and if so puts it
as the last destination.

Signed-off-by: Erez Shitrit <erezsh@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h
drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c