From: Mark Bloch Date: Sun, 27 Feb 2022 13:45:59 +0000 (+0000) Subject: net/mlx5: Lag, store number of ports inside lag object X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e9d5bb51c592d0275b00a52ce3d8fe8457501ce6;p=linux.git net/mlx5: Lag, store number of ports inside lag object Store the number of lag ports inside the lag object. Lag object is a single shared object managing the lag state of multiple mlx5 devices on the same physical HCA. Downstream patches will allow hardware lag to be created over devices with more than 2 ports. Signed-off-by: Mark Bloch Reviewed-by: Maor Gottlieb Signed-off-by: Saeed Mahameed --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c index 360cb1c4221ea..deac240e6d785 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -164,6 +164,7 @@ static struct mlx5_lag *mlx5_lag_dev_alloc(struct mlx5_core_dev *dev) if (err) mlx5_core_err(dev, "Failed to init multipath lag err=%d\n", err); + ldev->ports = MLX5_CAP_GEN(dev, num_lag_ports); return ldev; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h index 03a7ea07ce967..1c8fb3fada0c0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h @@ -45,6 +45,7 @@ struct lag_tracker { */ struct mlx5_lag { u8 flags; + u8 ports; int mode_changes_in_progress; bool shared_fdb; u8 v2p_map[MLX5_MAX_PORTS];