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: Andrew Lunn <andrew@lunn.ch>
Date: 2026-01-18 16:01:47
Also in: lkml

On Sun, Jan 18, 2026 at 04:07:38PM +0200, Josua Mayer wrote:
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?

If it is a QSFP, it means 4-lane 100G? 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?
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?
quoted hunk ↗ jump to hunk
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?

	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help