Introduction
As you might remember I wrote a blog post about SFP+ and SFP28 compatibility. In
When installing Mellanox ConnectX-4 Lx 25Gbps NICs in a bunch of servers we hit an issue when connected them to the DELLEMC N4000 10Gbps switches. The intent is to replace these with 25/50/100Gbps in the future.
The links did not come up.
The links did not come up. The switch ports are normally forced 10 Gbps in our setups so we check that. The speed was indeed set fix to 10Gbps. When changing that to auto-negotiate the link would come up at 1Gbps.
Naturally you check everything from cabling to used transceivers (BCM84754 on the switches) but that all checked out. We also check the firmware on the switches to determine if they were up to date and perhaps a new version fixed a known issue related to this. But no hardware wise everything was up to date on the switches and on the NICs.
Note that these links worked fine when used with 10 Gbps cards like the ConnectX-3 Pro. The DELL branded transceivers on the switches were BCM84754 (Broadcom)
The fix: Force Mellanox ConnectX-4 Lx 25Gbps to 10Gbps speed
I do not need to tell you that when you want 10Gbps getting 1Gbps doesn’t fly well. The fix was easy enough. We put the switch ports back to 10Gbps fixed speed. Auto-negotiate doesn’t deliver. No worries we fix the ports anyway. We then used mlc5cmd.exe Mellanox tool to change the NIC ports from auto-negotiate to fixed.
On hosts with Mellanox Connect-X4 NICs you open an elevated command prompt.
Navigate to C:\Program Files\Mellanox\MLNX_WinOF2\Management Tools. Run the below command to check the current link speed.
mlx5cmd.exe -LinkSpeed -Name “MyNicName ” -Query
We force the link speed to 10Gbps:
mlx5cmd.exe -LinkSpeed -Name “MyNicName ” -Set 10
Likewise you can force the link to 25Gbps. If you want to change it back to the default you can force the link speed to auto-negotiate again.
mlx5cmd.exe -LinkSpeed -Name “MyNicName” -Set 0
See https://community.mellanox.com/s/article/mlx5cmd-exe for more information on this tool.
Do note that the switch port also needs to be set to 10Gbps fixed. As you can see below the command will notify you when those are still on auto.
Conclusion
So my statement hold true the path to 25/50/100Gbps is one you can do step by step with future proofing. You might run into some issues but these are normally fixable. I have shared with you how to fix failing or wrong speed negotiations on 25 Gbps RDMA NICs (Mellanox ConnectX-4 Lx) when connecting to 10Gbps ports. I’m pretty sure the same holds true for other models. I have also had cards where things work out of the box but don’t give up when you hit an issue. I hope this helps some of you out there.