The kernel can now indicate if the PHY supports operating over a fiber cable at 100Mbps either Full or Half duplex.
Signed-off-by: Dan Murphy <[email protected]> --- ethtool.c | 6 ++++++ netlink/settings.c | 2 ++ uapi/linux/ethtool.h | 2 ++ 3 files changed, 10 insertions(+) diff --git a/ethtool.c b/ethtool.c index 606af3e6b48f..84ad21467206 100644 --- a/ethtool.c +++ b/ethtool.c @@ -443,6 +443,8 @@ static void init_global_link_mode_masks(void) ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, ETHTOOL_LINK_MODE_100baseT1_Full_BIT, ETHTOOL_LINK_MODE_1000baseT1_Full_BIT, + ETHTOOL_LINK_MODE_100baseFX_Half_BIT, + ETHTOOL_LINK_MODE_100baseFX_Full_BIT, }; static const enum ethtool_link_mode_bit_indices additional_advertised_flags_bits[] = { @@ -639,6 +641,10 @@ static void dump_link_caps(const char *prefix, const char *an_prefix, "200000baseDR4/Full" }, { 0, ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, "200000baseCR4/Full" }, + { 0, ETHTOOL_LINK_MODE_100baseFX_Half_BIT, + "100baseFx/Half" }, + { 1, ETHTOOL_LINK_MODE_100baseFX_Full_BIT, + "100baseFx/Full" }, }; int indent; int did1, new_line_pend; diff --git a/netlink/settings.c b/netlink/settings.c index 935724e799da..a11c85756ca6 100644 --- a/netlink/settings.c +++ b/netlink/settings.c @@ -147,6 +147,8 @@ static const struct link_mode_info link_modes[] = { [ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT] = __REAL(400000), [ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT] = __REAL(400000), [ETHTOOL_LINK_MODE_FEC_LLRS_BIT] = __SPECIAL(FEC), + [ETHTOOL_LINK_MODE_100baseFX_Half_BIT] = __HALF_DUPLEX(100), + [ETHTOOL_LINK_MODE_100baseFX_Full_BIT] = __REAL(100), }; const unsigned int link_modes_count = ARRAY_SIZE(link_modes); diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h index a1cfbe2ef40f..5c58555fecb4 100644 --- a/uapi/linux/ethtool.h +++ b/uapi/linux/ethtool.h @@ -1598,6 +1598,8 @@ enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72, ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73, ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74, + ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90, + ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91, /* must be last entry */ __ETHTOOL_LINK_MODE_MASK_NBITS }; -- 2.28.0
