From: Danielle Ratson <daniel...@mellanox.com> Add support for "ethtool -s <dev> lanes N ..." for setting a specific number of lanes.
Signed-off-by: Danielle Ratson <daniel...@mellanox.com> --- Notes: v3: * Remove a leftover. * After adding a seperated patch for uapi headers, squash rest of the first patch. ethtool.c | 1 + netlink/desc-ethtool.c | 1 + netlink/settings.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/ethtool.c b/ethtool.c index fb90e9e..a8339c8 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/desc-ethtool.c b/netlink/desc-ethtool.c index 96291b9..fe5d7ba 100644 --- a/netlink/desc-ethtool.c +++ b/netlink/desc-ethtool.c @@ -87,6 +87,7 @@ static const struct pretty_nla_desc __linkmodes_desc[] = { NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_DUPLEX), NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG), NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE), + NLATTR_DESC_U32(ETHTOOL_A_LINKMODES_LANES), }; static const struct pretty_nla_desc __linkstate_desc[] = { diff --git a/netlink/settings.c b/netlink/settings.c index 90c28b1..c54fe56 100644 --- a/netlink/settings.c +++ b/netlink/settings.c @@ -1067,6 +1067,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