[PATCH net-next v22 02/14] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values

Andrew Lunn andrew at lunn.ch
Thu Jan 8 08:53:29 PST 2026


On Thu, Jan 08, 2026 at 09:00:27AM +0100, Maxime Chevallier wrote:
> In an effort to have a better representation of Ethernet ports,
> introduce enumeration values representing the various ethernet Mediums.
> 
> This is part of the 802.3 naming convention, for example :
> 
> 1000 Base T 4
>  |    |   | |
>  |    |   | \_ pairs (4)
>  |    |   \___ Medium (T == Twisted Copper Pairs)
>  |    \_______ Baseband transmission
>  \____________ Speed
> 
>  Other example :
> 
> 10000 Base K X 4
>            | | \_ lanes (4)
>            | \___ encoding (BaseX is 8b/10b while BaseR is 66b/64b)
>            \_____ Medium (K is backplane ethernet)
> 
> In the case of representing a physical port, only the medium and number
> of pairs should be relevant. One exception would be 1000BaseX, which is
> currently also used as a medium in what appears to be any of 1000BaseSX,
> 1000BaseCX, 1000BaseLX, 1000BaseEX, 1000BaseBX10 and some other.
> 
> This was reflected in the mediums associated with the 1000BaseX linkmode.
> 
> These mediums are set in the net/ethtool/common.c lookup table that
> maintains a list of all linkmodes with their number of pairs, medium,
> encoding, speed and duplex.
> 
> One notable exception to this is 100BaseT Ethernet. It emcompasses 100BaseTX,
> which is a 2-pairs protocol but also 100BaseT4, that will also work on 4-pairs
> cables. As we don't make a disctinction between these,  the lookup table
> contains 2 sets of pair numbers, indicating the min number of pairs for a
> protocol to work and the "nominal" number of pairs as well.
> 
> Another set of exceptions are linkmodes such 100000baseLR4_ER4, where
> the same link mode seems to represent 100GBaseLR4 and 100GBaseER4. The
> macro __DEFINE_LINK_MODE_PARAMS_MEDIUMS is here used to populate the
> .mediums bitfield with all appropriate mediums.
> 
> Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>

Reviewed-by: Andrew Lunn <andrew at lunn.ch>

    Andrew



More information about the linux-arm-kernel mailing list