[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210106131006.2110613-2-danieller@mellanox.com>
Date: Wed, 6 Jan 2021 15:10:02 +0200
From: Danielle Ratson <danieller@...lanox.com>
To: netdev@...r.kernel.org
Cc: mkubecek@...e.cz, f.fainelli@...il.com, kuba@...nel.org,
andrew@...n.ch, mlxsw@...dia.com,
Danielle Ratson <danieller@...lanox.com>
Subject: [PATCH ethtool 1/5] ethtool: Extend ethtool link modes settings uAPI with lanes
Add ETHTOOL_A_LINKMODES_LANES, expand ethtool_link_settings with
lanes attribute and define valid lanes in order to support a new
lanes-selector.
Signed-off-by: Danielle Ratson <danieller@...lanox.com>
Reviewed-by: Jiri Pirko <jiri@...dia.com>
---
netlink/desc-ethtool.c | 1 +
uapi/linux/ethtool.h | 8 ++++++++
uapi/linux/ethtool_netlink.h | 1 +
3 files changed, 10 insertions(+)
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/uapi/linux/ethtool.h b/uapi/linux/ethtool.h
index 052689b..85ec9c8 100644
--- a/uapi/linux/ethtool.h
+++ b/uapi/linux/ethtool.h
@@ -1736,6 +1736,14 @@ static __inline__ int ethtool_validate_speed(__u32 speed)
return speed <= INT_MAX || speed == (__u32)SPEED_UNKNOWN;
}
+/* Lanes, 1, 2, 4 or 8. */
+#define ETHTOOL_LANES_1 1
+#define ETHTOOL_LANES_2 2
+#define ETHTOOL_LANES_4 4
+#define ETHTOOL_LANES_8 8
+
+#define ETHTOOL_LANES_UNKNOWN 0
+
/* Duplex, half or full. */
#define DUPLEX_HALF 0x00
#define DUPLEX_FULL 0x01
diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
index c022883..0cd6906 100644
--- a/uapi/linux/ethtool_netlink.h
+++ b/uapi/linux/ethtool_netlink.h
@@ -227,6 +227,7 @@ enum {
ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
+ ETHTOOL_A_LINKMODES_LANES, /* u32 */
/* add new constants above here */
__ETHTOOL_A_LINKMODES_CNT,
--
2.26.2
Powered by blists - more mailing lists