Add support for "ethtool -s <dev> lanes N ..." for setting a specific
number of lanes.
Signed-off-by: Danielle Ratson <redacted>
Reviewed-by: Jiri Pirko <redacted>
---
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