• Danielle Ratson's avatar
    ethtool: Expose the number of lanes in use · 7dc33f09
    Danielle Ratson authored
    Currently, ethtool does not expose how many lanes are used when the
    link is up.
    
    After adding a possibility to advertise or force a specific number of
    lanes, the lanes in use value can be either the maximum width of the port
    or below.
    
    Extend ethtool to expose the number of lanes currently in use for
    drivers that support it.
    
    For example:
    
    $ ethtool -s swp1 speed 100000 lanes 4
    $ ethtool -s swp2 speed 100000 lanes 4
    $ ip link set swp1 up
    $ ip link set swp2 up
    $ ethtool swp1
    Settings for swp1:
            Supported ports: [ FIBRE         Backplane ]
            Supported link modes:   1000baseT/Full
                                    10000baseT/Full
                                    1000baseKX/Full
                                    10000baseKR/Full
                                    10000baseR_FEC
                                    40000baseKR4/Full
                                    40000baseCR4/Full
                                    40000baseSR4/Full
                                    40000baseLR4/Full
                                    25000baseCR/Full
                                    25000baseKR/Full
                                    25000baseSR/Full
                                    50000baseCR2/Full
                                    50000baseKR2/Full
                                    100000baseKR4/Full
                                    100000baseSR4/Full
                                    100000baseCR4/Full
                                    100000baseLR4_ER4/Full
                                    50000baseSR2/Full
                                    10000baseCR/Full
                                    10000baseSR/Full
                                    10000baseLR/Full
                                    10000baseER/Full
                                    50000baseKR/Full
                                    50000baseSR/Full
                                    50000baseCR/Full
                                    50000baseLR_ER_FR/Full
                                    50000baseDR/Full
                                    100000baseKR2/Full
                                    100000baseSR2/Full
                                    100000baseCR2/Full
                                    100000baseLR2_ER2_FR2/Full
                                    100000baseDR2/Full
                                    200000baseKR4/Full
                                    200000baseSR4/Full
                                    200000baseLR4_ER4_FR4/Full
                                    200000baseDR4/Full
                                    200000baseCR4/Full
            Supported pause frame use: Symmetric Receive-only
            Supports auto-negotiation: Yes
            Supported FEC modes: Not reported
            Advertised link modes:  1000baseT/Full
                                    10000baseT/Full
                                    1000baseKX/Full
                                    1000baseKX/Full
                                    10000baseKR/Full
                                    10000baseR_FEC
                                    40000baseKR4/Full
                                    40000baseCR4/Full
                                    40000baseSR4/Full
                                    40000baseLR4/Full
                                    25000baseCR/Full
                                    25000baseKR/Full
                                    25000baseSR/Full
                                    50000baseCR2/Full
                                    50000baseKR2/Full
                                    100000baseKR4/Full
                                    100000baseSR4/Full
                                    100000baseCR4/Full
                                    100000baseLR4_ER4/Full
                                    50000baseSR2/Full
                                    10000baseCR/Full
                                    10000baseSR/Full
                                    10000baseLR/Full
                                    10000baseER/Full
                                    200000baseKR4/Full
                                    200000baseSR4/Full
                                    200000baseLR4_ER4_FR4/Full
                                    200000baseDR4/Full
                                    200000baseCR4/Full
            Advertised pause frame use: No
            Advertised auto-negotiation: Yes
            Advertised FEC modes: Not reported
            Advertised link modes:  100000baseKR4/Full
                                    100000baseSR4/Full
                                    100000baseCR4/Full
                                    100000baseLR4_ER4/Full
    	Advertised pause frame use: No
    	Advertised auto-negotiation: Yes
    	Advertised FEC modes: Not reported
    	Speed: 100000Mb/s
    	Lanes: 4
    	Duplex: Full
    	Auto-negotiation: on
    	Port: Direct Attach Copper
    	PHYAD: 0
    	Transceiver: internal
    	Link detected: yes
    Signed-off-by: default avatarDanielle Ratson <danieller@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    7dc33f09
linkmodes.c 10.6 KB