]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net/mlx5: Correctly set LAG mode for ECPF
authorBodong Wang <bodong@mellanox.com>
Wed, 13 Feb 2019 16:52:34 +0000 (10:52 -0600)
committerSaeed Mahameed <saeedm@mellanox.com>
Sat, 16 Feb 2019 01:25:56 +0000 (17:25 -0800)
When bonding is added, driver assumes that it's RoCE LAG if no VF is
enabled. This is not enough for ECPF as the VF is enabled in host PF
side. LAG should only choose RoCE mode when both slave devices meet
conditions below:
 1. E-Switch offloads mode is NONE.
 2. No VF is enabled.

Signed-off-by: Bodong Wang <bodong@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/lag.c

index 2d223385dc81925e1dbe267f3e54c2b76a7daf19..04c5aca7f8c54e35bd5f12d15a89049c6caa2b50 100644 (file)
@@ -343,6 +343,11 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
                roce_lag = !mlx5_sriov_is_enabled(dev0) &&
                           !mlx5_sriov_is_enabled(dev1);
 
+#ifdef CONFIG_MLX5_ESWITCH
+               roce_lag &= dev0->priv.eswitch->mode == SRIOV_NONE &&
+                           dev1->priv.eswitch->mode == SRIOV_NONE;
+#endif
+
                if (roce_lag)
                        mlx5_lag_remove_ib_devices(ldev);