net/mlx5: SD, Implement steering for primary and secondaries
authorTariq Toukan <tariqt@nvidia.com>
Thu, 15 Feb 2024 03:08:04 +0000 (19:08 -0800)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 7 Mar 2024 08:40:38 +0000 (00:40 -0800)
commitf218179b78f5bfa2300a7f0fdc0d5e9727b7a773
treed55f3048466b431cfae706eb0b6bc555598aca52
parentd3d0576660905c80c4cf02178cae2246e900872a
net/mlx5: SD, Implement steering for primary and secondaries

Implement the needed SD steering adjustments for the primary and
secondaries.

While the SD multiple PFs are used to avoid cross-numa memory, when it
comes to chip level all traffic goes only through the primary device.
The secondaries are forced to silent mode, to guarantee they are not
involved in any unexpected ingress/egress traffic.

In RX, secondary devices will not have steering objects. Traffic will be
steered from the primary device to the RQs of a secondary device using
advanced cross-vhca RX steering capabilities.

In TX, the primary creates a new TX flow table, which is aliased by the
secondaries.

Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c