lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e04e8bec-a7c5-4e2d-bdd8-fdf79c29deba@lunn.ch>
Date: Sun, 18 Jan 2026 17:01:38 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Josua Mayer <josua@...id-run.com>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
	Russell King <linux@...linux.org.uk>,
	"David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
	Simon Horman <horms@...nel.org>,
	Mikhail Anikin <mikhail.anikin@...id-run.com>,
	Rabeeh Khoury <rabeeh@...id-run.com>,
	Yazan Shhady <yazan.shhady@...id-run.com>, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] net: sfp: support 25G long-range modules (extended
 compliance code 0x3)

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?

> Signed-off-by: Josua Mayer <josua@...id-run.com>
> ---
>  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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ