The Cable Decides: Why My 200G-Capable Ports Run at 10G

Two ConnectX-6 ports that can do HDR. A DAC with 100G printed on the label. An InfiniBand link that trained at 10 gigabits. Your fabric's speed is written in a tiny EEPROM inside the cable, and it does not care what the label says.
the cable decides banner

On this page

Two ConnectX-6 HCAs, a half-meter DAC between them, native InfiniBand, subnet manager running, fabric up. And then the first look at the link speed: 10 gigabits. Not 100, not 200. Ten. A bandwidth test agrees, so it isn't a display quirk:

ibstatus showing 10 Gb/sec 4X SDR and ib_write_bw confirming 7.93 Gb/s
The link says 4X SDR, and perftest confirms it: 7.93 Gb/s on hardware built for twenty times that.

The ports are innocent

First suspect: the ports. Ask the subnet management agent what this port can actually do, and it tells you plainly. Extended speeds up to 53.125 Gbps per lane are supported and enabled. That's HDR. Times four lanes, this port is happy to run 200 Gb/s. But the active speed is 2.5 Gbps per lane, the slowest InfiniBand has ever gone:

smpquery portinfo showing HDR supported but 2.5 Gbps active
The port supports HDR and is running at SDR. Something else is holding it back.

Interrogate the cable

Every QSFP module and DAC carries a small EEPROM describing what it is and what it can carry. mstlink reads it straight off the wire:

mstlink show_module revealing Supported Cable Speed SDR on a QSFP-100G part
Part number says 100G. The InfiniBand capability field says SDR, and that is the only field link training reads.

There's the confession. The part number proudly says QSFP-100G-CU0.5M, but that 100G is its Ethernet rating. For InfiniBand, the EEPROM advertises exactly one speed: SDR. This is a cheap DAC that was never qualified for faster IB signaling, and it says so, quietly, in a field almost nobody reads.

The negotiation

InfiniBand link training is conservative by design. Before the link comes up, both ports read the cable's EEPROM, and the negotiated rate is the highest speed everyone explicitly claims to support. Not the label, not the port capability, the intersection:

Diagram: negotiated link speed is the minimum of port A, cable EEPROM, and port B capabilities
Link training believes the EEPROM. Two 200G-capable ports plus one honest cable equals ten gigabits.

That conservatism is a feature. A DAC that isn't qualified for HDR signal rates would train fine on a good day and throw symbol errors on a warm one. The EEPROM is the cable's binding promise about signal integrity, and the fabric refuses to gamble past it.

Check the cable first

The fix is boring: buy a DAC that is actually IB-rated for the speed you want (EDR and HDR DACs advertise it in the same field). The lesson is the valuable part. Before assuming anything about an InfiniBand link, ask the cable what it thinks it is:

mstlink -d <device> --show_module

This isn't even the worst case. The same lab previously ate a stranger version of this lesson: QSFP-100G-SR4 optics, which are Ethernet-only, won't train InfiniBand at all. The PHY just sits in Polling forever while you re-check every config file on both ends.

The nugget: the label on a cable is marketing. The EEPROM inside it is a contract, and InfiniBand only honors contracts.

Subscribe to LevelUp I.T. newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!