Thread (8 messages) 8 messages, 4 authors, 2026-01-21

Re: [PATCH 2/2] net: sfp: support 25G long-range modules (extended compliance code 0x3)

From: Josua Mayer <hidden>
Date: 2026-01-19 07:30:38
Also in: lkml

On 18/01/2026 18:01, Andrew Lunn wrote:
On Sun, Jan 18, 2026 at 04:07:38PM +0200, Josua Mayer wrote:
quoted
The extended compliance code value SFF8024_ECC_100GBASE_ER4_25GBASE_ER
(0x3) means either 4-lane 100G or single lane 25G.
Is there a way to tell them apart?
The physical connectors are different, so we can know from the
device-tree compatible string.

For now sfp driver does not support qsfp.
If it is a QSFP, it means 4-lane 100G?
This is my suspicion, but I have not parsed real-world qsfp eeproms.
You can however split it into
4x 25GBASE_ER, if the MAC supports port spitting? If it is an SFP, it
must mean 25GBASE_ER because the SFP only supports a single lane?
Does it?
I thought SR, ER and LR indicate distance not host interface lane count.

Either way if you have a QSFP module, there is a single module with a single
eeprom on a single connector of 4 lanes.

When you have SFP module, there is a module / eeprom for each lane.
quoted
Set 25000baseLR_Full mode supported in addition to the already set
100000baseLR4_ER4_Full, and handle it in sfp_select_interface.

This fixes detection of 25G capability for two SFP fiber modules:

- GigaLight GSS-SPO250-LRT
- FS SFP-25G23-BX20-I
Are these SFPs or QSFPs?
SFP.
quoted
Signed-off-by: Josua Mayer <redacted>
---
  drivers/net/phy/sfp-bus.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c
index b945d75966d5..2caa0e0c4ec8 100644
--- a/drivers/net/phy/sfp-bus.c
+++ b/drivers/net/phy/sfp-bus.c
@@ -247,6 +247,7 @@ static void sfp_module_parse_support(struct sfp_bus *bus,
  	case SFF8024_ECC_100GBASE_LR4_25GBASE_LR:
  	case SFF8024_ECC_100GBASE_ER4_25GBASE_ER:
  		phylink_set(modes, 100000baseLR4_ER4_Full);
+		phylink_set(modes, 25000baseLR_Full);
Given the question above, i'm wondering if it is as simple as this, or
we need to look at the type of SFP?
I don't think we need to worry about QSFP at this time.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help