]> www.infradead.org Git - users/dwmw2/linux.git/commit
net/mlx5: Lag, do bond only if slaves agree on roce state
authorMaher Sanalla <msanalla@nvidia.com>
Wed, 22 May 2024 19:26:52 +0000 (22:26 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 May 2024 12:27:07 +0000 (13:27 +0100)
commit51ef9305b8f40946d65c40368ffb4c14636d369a
tree31ebc6ce530805e764f40990e4178599da65d0d8
parent128d54fbcb14b8717ecf596d3dbded327b9980b3
net/mlx5: Lag, do bond only if slaves agree on roce state

Currently, the driver does not enforce that lag bond slaves must have
matching roce capabilities. Yet, in mlx5_do_bond(), the driver attempts
to enable roce on all vports of the bond slaves, causing the following
syndrome when one slave has no roce fw support:

mlx5_cmd_out_err:809:(pid 25427): MODIFY_NIC_VPORT_CONTEXT(0×755) op_mod(0×0)
failed, status bad parameter(0×3), syndrome (0xc1f678), err(-22)

Thus, create HW lag only if bond's slaves agree on roce state,
either all slaves have roce support resulting in a roce lag bond,
or none do, resulting in a raw eth bond.

Fixes: 7907f23adc18 ("net/mlx5: Implement RoCE LAG feature")
Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c