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