Subject: [PATCH net-next 0/4] mlxsw: Configure max LAG ID for Spectrum-4

From: Petr Machata <[email-masked]>
Date: Fri, 26 Aug 2022 18:06:48 +0200

Amit Cohen writes:

In the device, LAG identifiers are stored in the port group table (PGT).
During initialization, firmware reserves a certain amount of entries at
the beginning of this table for LAG identifiers.

In Spectrum-4, the size of the PGT table did not increase, but the
maximum number of LAG identifiers was doubled, leaving less room for
others entries (e.g., flood entries) that also reside in the PGT.

Therefore, in order to avoid a regression and as long as there is no
explicit requirement to support 256 LAGs, configure the firmware to
allocate the same amount of LAG entries (128) as in Spectrum-{2,3}.

This can be done via the 'max_lag' field in CONFIG_PROFILE command.

Patch set overview:
Patch #1 edits the comment of the existing 'max_lag' field.
Patch #2 adds support for configuring 'max_lag' field via CONFIG_PROFILE
command.
Patch #3 adds an helper function to get the actual 'max_lag' in the
device.
Patch #4 adjusts Spectrum-4 to configure 'max_lag' field.

Amit Cohen (4):
  mlxsw: cmd: Edit the comment of 'max_lag' field in CONFIG_PROFILE
  mlxsw: Support configuring 'max_lag' via CONFIG_PROFILE
  mlxsw: Add a helper function for getting maximum LAG ID
  mlxsw: spectrum: Add a copy of 'struct mlxsw_config_profile' for
    Spectrum-4

 drivers/net/ethernet/mellanox/mlxsw/cmd.h     |  3 ++
 drivers/net/ethernet/mellanox/mlxsw/core.c    | 25 ++++++++--
 drivers/net/ethernet/mellanox/mlxsw/core.h    |  4 ++
 drivers/net/ethernet/mellanox/mlxsw/pci.c     |  5 ++
 .../net/ethernet/mellanox/mlxsw/spectrum.c    | 49 ++++++++++++++++---
 5 files changed, 74 insertions(+), 12 deletions(-)

-- 
2.35.3