From e9ee8ed549fbc02527356c3c82cec23434fc2f56 Mon Sep 17 00:00:00 2001 From: Danielle Ratson Date: Wed, 10 Feb 2021 15:48:37 +0200 Subject: [PATCH 39/42] netlink: settings: Add netlink support for lanes parameter Add support for "ethtool -s lanes N ..." for setting a specific number of lanes. Signed-off-by: Danielle Ratson Signed-off-by: Michal Kubecek (cherry picked from commit 107ee330ec7bf83e8c3938375f3466bc8e102b93) --- 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 f5fbb01e553a..61f136c5bf2c 100644 --- a/ethtool.c +++ b/ethtool.c @@ -5568,6 +5568,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 8dd4a91ad0d7..c8447ce33f4d 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 01c1d38d323f..37222db5c833 100644 --- a/netlink/settings.c +++ b/netlink/settings.c @@ -1065,6 +1065,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.31.1