summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorMark Bloch <mbloch@nvidia.com>2022-02-27 13:45:59 +0000
committerSaeed Mahameed <saeedm@nvidia.com>2022-05-09 22:54:02 -0700
commite9d5bb51c592d0275b00a52ce3d8fe8457501ce6 (patch)
tree9d9ae5b0aa7047696d714a4fedb87e9c4b915d7a /drivers/net/ethernet
parentbc4c2f2e017949646b43fdcad005a03462d437c6 (diff)
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 <mbloch@nvidia.com> Reviewed-by: Maor Gottlieb <maorg@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c1
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
index 360cb1c4221e..deac240e6d78 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 03a7ea07ce96..1c8fb3fada0c 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];