How to understand the eeprom dump from ethtool -m for an SFP+?

I have executed ethtool -m on one of the SFPs on a server and now I am trying to interpret it. I get this printout,

Identifier                                : 0x03 (SFP)
Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
Connector                                 : 0x07 (LC)
Transceiver codes                         : 0x10 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00
Transceiver type                          : 10G Ethernet: 10G Base-SR
Transceiver type                          : Ethernet: 1000BASE-SX
Encoding                                  : 0x06 (64B/66B)
BR, Nominal                               : 10300MBd
Rate identifier                           : 0x02 (8/4/2G Rx Rate_Select only)
Length (SMF,km)                           : 0km
Length (SMF)                              : 0m
Length (50um)                             : 80m
Length (62.5um)                           : 30m
Length (Copper)                           : 0m
Length (OM3)                              : 300m
Laser wavelength                          : 850nm

Most is clear, but what confuses me are the lengths. I do not have access to the HW, so I cannot go and physically check the connections, but I would have expected only one length printout would be there. Instead I see several length printouts here.

It would be great if someone knows how this is interpreted. What does it mean I have
300m 0m 30m, 80m 50um and 30m, 62.5um? Or have I misunderstood this and that this only provides the maximal supported cable length?


Solution 1:

I managed to find some info about the eeprom file for SFPs. I found this from Finisar https://cdn.hackaday.io/files/21599924091616/AN_2030_DDMI_for_SFP_Rev_E2.pdf

and the Length is as suspected, the maximum length per cable type, where 0 means the cable type is not supported.

Solution 2:

For completeness, the memory layout is specified in SFF-8472 "Management Interface for SFP+".