Hi,
See detailed feature description by Moshe below.
Regards,
Tariq
A satellite PF is a new SmartNIC configuration that adds another
physical function on the DPU that is not an eswitch manager and not a
page manager. The satellite PF can have its own SFs and can be passed
through to a VM on the DPU, providing an isolated function for users who
should not have access to the privileged ECPF. The ECPF handles the
satellite PF and the host PF in a similar way, using the same management
framework.
This series adds support for satellite PFs (SPFs) in the mlx5 eswitch.
SPFs are discovered through the v1 response layout of the
query_esw_functions command, introduced in the previous infrastructure
preparation series.
The first four patches discover satellite PFs, allocate eswitch vports
for them and their SFs, and extend the SF hardware table to manage SPF
SF entries.
The next five patches expose PF numbers from firmware, map SF
controllers to their pfnum, register devlink ports with proper
attributes, and register SF resource on satellite PF ports.
The final four patches add devlink port state management, FDB peer miss
rules, dedicated page accounting, and SF resource registration for
satellite PF vports.
This series builds on the eswitch infrastructure preparation series
previously submitted.
Moshe Shemesh (11):
net/mlx5: Add satellite PF vport support
net/mlx5: Introduce generic helper for PF SFs info
net/mlx5: Initialize host PF host number earlier
net/mlx5: Initialize satellite PF SF vports
net/mlx5: Support SPF SFs in SF hardware table
net/mlx5: Expose PF number from query_esw_functions
net/mlx5: Map SF controller to pfnum for satellite PFs
net/mlx5: Register devlink ports for satellite PFs
net/mlx5: Support state get/set for satellite PF ports
net/mlx5: Add FDB peer miss rules for satellite PFs
net/mlx5: Add SPF function type for page management
Or Har-Toov (1):
net/mlx5: Register SF resource on satellite PF ports
.../net/ethernet/mellanox/mlx5/core/debugfs.c | 3 +
.../net/ethernet/mellanox/mlx5/core/ecpf.c | 5 +
.../mellanox/mlx5/core/esw/adj_vport.c | 6 +-
.../mellanox/mlx5/core/esw/devlink_port.c | 59 ++-
.../net/ethernet/mellanox/mlx5/core/eswitch.c | 398 ++++++++++++++++--
.../net/ethernet/mellanox/mlx5/core/eswitch.h | 43 +-
.../mellanox/mlx5/core/eswitch_offloads.c | 86 ++--
.../ethernet/mellanox/mlx5/core/pagealloc.c | 3 +
.../ethernet/mellanox/mlx5/core/sf/devlink.c | 14 +-
.../ethernet/mellanox/mlx5/core/sf/hw_table.c | 89 +++-
include/linux/mlx5/driver.h | 1 +
11 files changed, 595 insertions(+), 112 deletions(-)
base-commit: 33fb2e2bc7a43c79f02dad79c39ff04ae6dc224f
--
2.44.0