[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190327201411.GH14297@nanopsycho>
Date: Wed, 27 Mar 2019 21:14:11 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Michal Kubecek <mkubecek@...e.cz>
Cc: David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
Jakub Kicinski <jakub.kicinski@...ronome.com>,
Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
John Linville <linville@...driver.com>,
Stephen Hemminger <stephen@...workplumber.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v5 13/22] ethtool: provide driver/device
information in GET_INFO request
Mon, Mar 25, 2019 at 06:08:33PM CET, mkubecek@...e.cz wrote:
>Implement GET_INFO request to get basic driver and device information as
>provided by ETHTOOL_GDRVINFO ioct command. The information is read only so
>that the corresponding SET_INFO message is only used in kernel replies.
>
>Move most of ethtool_get_drvinfo() int common.c so that the code can be
>shared by both ioctl and netlink interface.
>
>Signed-off-by: Michal Kubecek <mkubecek@...e.cz>
>---
> Documentation/networking/ethtool-netlink.txt | 43 ++++-
> include/uapi/linux/ethtool_netlink.h | 30 ++++
> net/ethtool/Makefile | 2 +-
> net/ethtool/common.c | 52 ++++++
> net/ethtool/common.h | 2 +
> net/ethtool/info.c | 158 +++++++++++++++++++
> net/ethtool/ioctl.c | 50 +-----
> net/ethtool/netlink.c | 8 +
> net/ethtool/netlink.h | 1 +
> 9 files changed, 299 insertions(+), 47 deletions(-)
> create mode 100644 net/ethtool/info.c
>
>diff --git a/Documentation/networking/ethtool-netlink.txt b/Documentation/networking/ethtool-netlink.txt
>index 1508c16a236e..cffa508ca6c6 100644
>--- a/Documentation/networking/ethtool-netlink.txt
>+++ b/Documentation/networking/ethtool-netlink.txt
>@@ -129,6 +129,8 @@ List of message types
> ETHNL_CMD_EVENT notification only
> ETHNL_CMD_GET_STRSET
> ETHNL_CMD_SET_STRSET response only
>+ ETHNL_CMD_GET_INFO
>+ ETHNL_CMD_SET_INFO response only
>
> All constants use ETHNL_CMD_ prefix, usually followed by "GET", "SET" or "ACT"
> to indicate the type.
>@@ -209,6 +211,45 @@ ETHA_STRSET_COUNTS tells kernel to only return string counts of the sets, not
> the actual strings.
>
>
>+GET_INFO
>+--------
>+
>+GET_INFO requests information provided by ioctl commands ETHTOOL_GDRVINFO,
>+ETHTOOL_GPERMADDR and ETHTOOL_GET_TS_INFO to provide basic device information.
>+Common pattern is that all information is read only so that SET_INFO message
>+exists but is only used by kernel for replies to GET_INFO requests. There is
>+also no corresponding notification.
>+
>+Request contents:
>+
>+ ETHA_INFO_DEV (nested) device identification
>+ ETHA_INFO_INFOMASK (u32) info mask
>+ ETHA_INFO_COMPACT (flag) request compact bitsets
>+
>+Info mask bits meaning:
>+
>+ ETH_INFO_IM_DRVINFO driver info (GDRVINFO)
>+ ETH_INFO_IM_PERMADDR permanent HW address (GPERMADDR)
>+ ETH_INFO_IM_TSINFO timestamping info (GET_TS_INFO)
>+
>+Kernel response contents:
>+
>+ ETHA_INFO_DEV (nested) device identification
>+ ETHA_INFO_DRVINFO (nested) driver information
>+ ETHA_DRVINFO_DRIVER (string) driver name
>+ ETHA_DRVINFO_FWVERSION (string) firmware version
>+ ETHA_DRVINFO_BUSINFO (string) device bus address
>+ ETHA_DRVINFO_EROM_VER (string) expansion ROM version
These are already very nicely supported in devlink. No need to duplicate
here.
Powered by blists - more mailing lists