From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
mbloch@nvidia.com, horms@kernel.org
Subject: [PATCH net-next V3 0/7] E-Switch vport sharing & delegation
Date: Fri, 29 Aug 2025 15:37:15 -0700 [thread overview]
Message-ID: <20250829223722.900629-1-saeed@kernel.org> (raw)
From: Saeed Mahameed <saeedm@nvidia.com>
v2->v3:
- fix error handling, Simon.
- Remove redundant struct field comment, Simon.
- Add Reviewed-by: Simon Horman <horms@kernel.org>
v1->v2:
- rename goto labels after targets. Jakub.
An mlx5 E-Switch FDB table can manage vports belonging to other sibling
physical functions, such as ECPF (ARM embedded cores) and Host PF (x86).
This enables a single source of truth for SDN software to manage network
pipelines from one host. While such functionality already exists in mlx5,
it is currently limited by static vport allocation,
meaning the number of vports shared between multi-host functions
must be known pre-boot.
This patchset enables delegated/external vports to be discovered
dynamically when switchdev mode is enabled, leveraging new firmware
capabilities for dynamic vport creation.
Adjacent functions that delegate their SR-IOV VFs to sibling PFs, can be
dynamically discovered on the sibling PF's switchdev mode enabling,
after sriov was enabled on the originating PF, allowing for more
flexible and scalable management in multi-host and ECPF-to-host
scenarios.
The patchset consists of the following changes:
- Refactoring of ACL root namespace handling: The storage of vport ACL root
namespaces is converted from a linear array to an xarray, allowing dynamic
creation of ACLs per individual vport.
- Improvements for vhca_id to vport mapping.
- Dynamic querying and creation of delegated functions/vports.
Adithya Jayachandran (2):
net/mlx5: E-Switch, Add support for adjacent functions vports
discovery
net/mlx5: E-switch, Set representor attributes for adjacent VFs
Saeed Mahameed (5):
net/mlx5: FS, Convert vport acls root namespaces to xarray
net/mlx5: E-Switch, Move vport acls root namespaces creation to
eswitch
net/mlx5: E-Switch, Create acls root namespace for adjacent vports
net/mlx5: E-Switch, Register representors for adjacent vports
net/mlx5: {DR,HWS}, Use the cached vhca_id for this device
.../net/ethernet/mellanox/mlx5/core/Makefile | 2 +-
.../mellanox/mlx5/core/esw/adj_vport.c | 209 ++++++++++++++++++
.../mellanox/mlx5/core/esw/devlink_port.c | 11 +-
.../net/ethernet/mellanox/mlx5/core/eswitch.c | 131 ++++++++++-
.../net/ethernet/mellanox/mlx5/core/eswitch.h | 17 ++
.../mellanox/mlx5/core/eswitch_offloads.c | 37 +++-
.../net/ethernet/mellanox/mlx5/core/fs_core.c | 183 ++++++++-------
.../net/ethernet/mellanox/mlx5/core/fs_core.h | 18 +-
.../mellanox/mlx5/core/steering/hws/cmd.c | 34 +--
.../mellanox/mlx5/core/steering/sws/dr_cmd.c | 34 +--
10 files changed, 500 insertions(+), 176 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/esw/adj_vport.c
--
2.50.1
next reply other threads:[~2025-08-29 22:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-29 22:37 Saeed Mahameed [this message]
2025-08-29 22:37 ` [PATCH net-next V3 1/7] net/mlx5: FS, Convert vport acls root namespaces to xarray Saeed Mahameed
2025-08-29 22:37 ` [PATCH net-next V3 2/7] net/mlx5: E-Switch, Move vport acls root namespaces creation to eswitch Saeed Mahameed
2025-08-29 22:37 ` [PATCH net-next V3 3/7] net/mlx5: E-Switch, Add support for adjacent functions vports discovery Saeed Mahameed
2025-09-01 13:58 ` Simon Horman
2025-08-29 22:37 ` [PATCH net-next V3 4/7] net/mlx5: E-Switch, Create acls root namespace for adjacent vports Saeed Mahameed
2025-08-29 22:37 ` [PATCH net-next V3 5/7] net/mlx5: E-Switch, Register representors " Saeed Mahameed
2025-08-29 22:37 ` [PATCH net-next V3 6/7] net/mlx5: E-switch, Set representor attributes for adjacent VFs Saeed Mahameed
2025-08-29 22:37 ` [PATCH net-next V3 7/7] net/mlx5: {DR,HWS}, Use the cached vhca_id for this device Saeed Mahameed
2025-09-02 13:30 ` [PATCH net-next V3 0/7] E-Switch vport sharing & delegation patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250829223722.900629-1-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=mbloch@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).