[PATCH net 1/2] net/mlx5: LAG, reload representors on LAG creation failure

Tariq Toukan posted 2 patches 9 months ago
[PATCH net 1/2] net/mlx5: LAG, reload representors on LAG creation failure
Posted by Tariq Toukan 9 months ago
From: Mark Bloch <mbloch@nvidia.com>

When LAG creation fails, the driver reloads the RDMA devices. If RDMA
representors are present, they should also be reloaded. This step was
missed in the cited commit.

Fixes: 598fe77df855 ("net/mlx5: Lag, Create shared FDB when in switchdev mode")
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Shay Drori <shayd@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
index ed2ba272946b..6c9737c53734 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
@@ -1052,6 +1052,10 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
 		if (err) {
 			if (shared_fdb || roce_lag)
 				mlx5_lag_add_devices(ldev);
+			if (shared_fdb) {
+				mlx5_ldev_for_each(i, 0, ldev)
+					mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
+			}
 
 			return;
 		} else if (roce_lag) {
-- 
2.31.1
Re: [PATCH net 1/2] net/mlx5: LAG, reload representors on LAG creation failure
Posted by Kalesh Anakkur Purayil 9 months ago
On Wed, Mar 19, 2025 at 2:22 AM Tariq Toukan <tariqt@nvidia.com> wrote:
>
> From: Mark Bloch <mbloch@nvidia.com>
>
> When LAG creation fails, the driver reloads the RDMA devices. If RDMA
> representors are present, they should also be reloaded. This step was
> missed in the cited commit.
>
> Fixes: 598fe77df855 ("net/mlx5: Lag, Create shared FDB when in switchdev mode")
> Signed-off-by: Mark Bloch <mbloch@nvidia.com>
> Reviewed-by: Shay Drori <shayd@nvidia.com>
> Signed-off-by: Tariq Toukan <tariqt@nvidia.com>

Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>


-- 
Regards,
Kalesh AP
Re: [PATCH net 1/2] net/mlx5: LAG, reload representors on LAG creation failure
Posted by Michal Swiatkowski 9 months ago
On Tue, Mar 18, 2025 at 10:51:16PM +0200, Tariq Toukan wrote:
> From: Mark Bloch <mbloch@nvidia.com>
> 
> When LAG creation fails, the driver reloads the RDMA devices. If RDMA
> representors are present, they should also be reloaded. This step was
> missed in the cited commit.
> 
> Fixes: 598fe77df855 ("net/mlx5: Lag, Create shared FDB when in switchdev mode")
> Signed-off-by: Mark Bloch <mbloch@nvidia.com>
> Reviewed-by: Shay Drori <shayd@nvidia.com>
> Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
> index ed2ba272946b..6c9737c53734 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
> @@ -1052,6 +1052,10 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
>  		if (err) {
>  			if (shared_fdb || roce_lag)
>  				mlx5_lag_add_devices(ldev);
> +			if (shared_fdb) {
> +				mlx5_ldev_for_each(i, 0, ldev)
> +					mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
> +			}
>  
>  			return;
>  		} else if (roce_lag) {
> -- 

Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>

> 2.31.1