Add support for "ethtool -s <dev> lanes N ..." for setting a specific number of lanes.
Signed-off-by: Danielle Ratson <daniel...@nvidia.com> Reviewed-by: Jiri Pirko <j...@nvidia.com> --- ethtool.c | 1 + netlink/settings.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/ethtool.c b/ethtool.c index 585aafa..fcb09f7 100644 --- a/ethtool.c +++ b/ethtool.c @@ -5620,6 +5620,7 @@ static const struct option args[] = { .nlfunc = nl_sset, .help = "Change generic options", .xhelp = " [ speed %d ]\n" + " [ lanes %d ]\n" " [ duplex half|full ]\n" " [ port tp|aui|bnc|mii|fibre|da ]\n" " [ mdix auto|on|off ]\n" diff --git a/netlink/settings.c b/netlink/settings.c index 90c28b1..6cb5d5b 100644 --- a/netlink/settings.c +++ b/netlink/settings.c @@ -20,6 +20,7 @@ struct link_mode_info { enum link_mode_class class; u32 speed; + u32 lanes; u8 duplex; }; @@ -1067,6 +1068,13 @@ static const struct param_parser sset_params[] = { .handler = nl_parse_direct_u32, .min_argc = 1, }, + { + .arg = "lanes", + .group = ETHTOOL_MSG_LINKMODES_SET, + .type = ETHTOOL_A_LINKMODES_LANES, + .handler = nl_parse_direct_u32, + .min_argc = 1, + }, { .arg = "duplex", .group = ETHTOOL_MSG_LINKMODES_SET, -- 2.26.2