[PATCH ethtool v3 2/5] netlink: settings: Add netlink support for lanes parameter
From: Danielle Ratson <hidden>
Date: 2021-02-10 13:50:22
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Danielle Ratson <redacted>
Add support for "ethtool -s <dev> lanes N ..." for setting a specific
number of lanes.
Signed-off-by: Danielle Ratson <redacted>
---
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