Re: [PATCH 2/2] net: sfp: support 25G long-range modules (extended compliance code 0x3)
From: Josua Mayer
Date: Wed Jan 21 2026 - 04:54:58 EST
On 19/01/2026 21:30, Jakub Kicinski wrote:
> On Sun, 18 Jan 2026 16:07:38 +0200 Josua Mayer wrote:
>> @@ -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);
> I _think_ the discussion here concluded that the patch is insufficient
> / DoA? Either way, I wanted to relay that AI code review points out
> we may also want to set __set_bit(PHY_INTERFACE_MODE_25GBASER,
> interfaces) here:
>
> https://netdev-ai.bots.linux.dev/ai-review.html?id=c91c0f54-56d5-4356-89cd-b57cbb289495
>
I concluded the following:
1. there is no confusion with qsfp / 4 serdes lanes
2. 25GBASER is indeed missing, because this case does not fallthrough.
Something open for discussion is whether to handle
SFF8024_ECC_100GBASE_LR4_25GBASE_LR/_ER differently, e.g.:
case SFF8024_ECC_100GBASE_LR4_25GBASE_LR:
phylink_set(modes, 25000baseLR_Full);
fallthrough;
case SFF8024_ECC_100GBASE_ER4_25GBASE_ER:
phylink_set(modes, 100000baseLR4_ER4_Full);
__set_bit(PHY_INTERFACE_MODE_25GBASER, interfaces);
break;
I.e. should the ER variant support 25000baseLR_Full?