mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tariq Toukan <tariqt@nvidia.com>
To: Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Tariq Toukan <tariqt@nvidia.com>, Mark Bloch <mbloch@nvidia.com>,
	<netdev@vger.kernel.org>, <linux-rdma@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, Gal Pressman <gal@nvidia.com>,
	Moshe Shemesh <moshe@nvidia.com>, Shay Drori <shayd@nvidia.com>
Subject: [PATCH net-next 0/5] net/mlx5: Add balance ID support for LAG multiplane groups
Date: Thu, 23 Oct 2025 12:16:55 +0300	[thread overview]
Message-ID: <1761211020-925651-1-git-send-email-tariqt@nvidia.com> (raw)

Hi,

This series adds balance ID support for MLX5 LAG in multiplane
configurations.

See detailed description by Mark below [1].

Regards,
Tariq


[1]
The problem: In complex multiplane LAG setups, we need finer control over LAG
groups. Currently, devices with the same system image GUID are treated
identically, but hardware now supports per-multiplane-group balance IDs that
let us differentiate between them. On such systems image system guid
isn't enough to decide which devices should be part of which LAG.

The solution: Extend the system image GUID with a balance ID byte when the
hardware supports it. This gives us the granularity we need without breaking
existing deployments.

What this series does:

1. Add the hardware interface bits (load_balance_id and lag_per_mp_group)
2. Clean up some duplicate code while we're here
3. Rework the system image GUID infrastructure to handle variable lengths
4. Update PTP clock pairing to use the new approach
5. Restructure capability setting to make room for the new feature
6. Actually implement the balance ID support

The key insight is in patch 6: we only append the balance ID when both
capabilities are present, so older hardware and software continue to work
exactly as before. For newer setups, you get the extra byte that enables
per-multiplane-group load balancing.

This has been tested with both old and new hardware configurations.


Mark Bloch (5):
  net/mlx5: Use common mlx5_same_hw_devs function
  net/mlx5: Add software system image GUID infrastructure
  net/mlx5: Refactor PTP clock devcom pairing
  net/mlx5: Refactor HCA cap 2 setting
  net/mlx5: Add balance ID support for LAG multiplane groups

 drivers/net/ethernet/mellanox/mlx5/core/dev.c | 12 ++++---
 .../ethernet/mellanox/mlx5/core/en/devlink.c  |  7 ++--
 .../ethernet/mellanox/mlx5/core/en/mapping.c  | 13 +++++---
 .../ethernet/mellanox/mlx5/core/en/mapping.h  |  3 +-
 .../mellanox/mlx5/core/en/rep/bridge.c        |  6 +---
 .../mellanox/mlx5/core/en/tc/int_port.c       |  8 +++--
 .../ethernet/mellanox/mlx5/core/en/tc_ct.c    | 11 ++++---
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   | 32 ++++++++++---------
 .../mellanox/mlx5/core/esw/devlink_port.c     |  6 +---
 .../mellanox/mlx5/core/eswitch_offloads.c     |  8 +++--
 .../net/ethernet/mellanox/mlx5/core/lag/lag.c |  4 ++-
 .../ethernet/mellanox/mlx5/core/lib/clock.c   | 19 ++++++-----
 .../ethernet/mellanox/mlx5/core/lib/devcom.h  |  2 ++
 .../net/ethernet/mellanox/mlx5/core/main.c    | 23 +++++++++----
 .../ethernet/mellanox/mlx5/core/mlx5_core.h   |  2 ++
 .../net/ethernet/mellanox/mlx5/core/vport.c   | 19 +++++++++++
 include/linux/mlx5/driver.h                   |  3 ++
 17 files changed, 112 insertions(+), 66 deletions(-)


base-commit: d550d63d0082268a31e93a10c64cbc2476b98b24
-- 
2.31.1


             reply	other threads:[~2025-10-23  9:17 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-23  9:16 Tariq Toukan [this message]
2025-10-23  9:16 ` [PATCH net-next 1/5] net/mlx5: Use common mlx5_same_hw_devs function Tariq Toukan
2025-10-23  9:16 ` [PATCH net-next 2/5] net/mlx5: Add software system image GUID infrastructure Tariq Toukan
2025-10-23  9:16 ` [PATCH net-next 3/5] net/mlx5: Refactor PTP clock devcom pairing Tariq Toukan
2025-10-23  9:16 ` [PATCH net-next 4/5] net/mlx5: Refactor HCA cap 2 setting Tariq Toukan
2025-10-23  9:17 ` [PATCH net-next 5/5] net/mlx5: Add balance ID support for LAG multiplane groups Tariq Toukan
2025-10-25 23:59 ` [PATCH net-next 0/5] " Zhu Yanjun
2025-10-26 12:53   ` Tariq Toukan
2025-10-28 10:13     ` Paolo Abeni
2025-10-28 10:20 ` 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=1761211020-925651-1-git-send-email-tariqt@nvidia.com \
    --to=tariqt@nvidia.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gal@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mbloch@nvidia.com \
    --cc=moshe@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=saeedm@nvidia.com \
    --cc=shayd@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

all inboxes | Powered by JetHome®