Re: Ethtool is missing C2C link modes
From: David Laight <hidden>
Date: 2026-07-11 06:31:34
On Sat, 11 Jul 2026 00:54:00 +0200 Andrew Lunn [off-list ref] wrote:
On Fri, Jul 10, 2026 at 09:45:43PM +0000, D H, Siddaraju wrote:quoted
Hello Linux Ethernet team, Maxime, Andrew & Michal, The IEEE AUI chip-to-chip (C2C) is the accepted standard for connecting chips that handle subfunctions within the OSI physical layer. Just to pick, the C2C is widely used when connecting Ethernet SoCs with retimers and PCS SerDes terminated external-phys to offload PHY sublayer functions.It cannot be that widely used if Linux does not support it yet :-)
It also seems like something that is fixed for a physical board. So while a common MAC driver would need to be told how to configure its output, the user wouldn't be changing the value so it would be more of a DT parameter than an ethtool one. ...
Also, an architecture question... It sounds like you use this between the MAC and the PCS. The PCS can then be connected to a PHY, and the PHY then has a line side. (I'm being a bit loose with the terms here, i should probably be saying PMA, PMD etc.) Should ethtool be saying: Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 25000baseC2C or should it be reporting: Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 25000baseSR I _think_ ethtool reports the media, not some intermediary format.
You'd want to use ethtool to set the final link parameters of the external phy? So I think you's still want to be able to select (say) 100MHDX for a TP link. Remember the history. The parameter was originally used to select between the the AUI, COAX and TP connectors on a 10M ethernet card. Then the internal TP gained extra speeds. We then get MII for external 10M and 100M PHY, later RGMII for external Ge PHY. But you rarely get boards (not MAC chips) that have a choice of interfaces any more.
Is ETHTOOL_LINK_MODE_25000baseC2C_Full_BIT actually needed? I suppose one use case would be when you directly connect two MACs together, PMA to PMA. So a 25G NIC directly connected to a switch port, with no 'media' in the middle. Then ethtool probably should report 25000baseC2C.
That might be similar to using RGMII crossover to connect to MAC together (Which does get used on-board). I'm not sure how we selected that, but overloading the media is 'sort of' ok because there is no media in that case. David
Andrew