Re: [PATCH net-next v8 00/14] ethtool netlink interface, part 1
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2019-12-23 16:52:05
Also in:
lkml
Hi Michal, On 12/22/2019 3:45 PM, Michal Kubecek wrote:
This is first part of netlink based alternative userspace interface for
ethtool. It aims to address some long known issues with the ioctl
interface, mainly lack of extensibility, raciness, limited error reporting
and absence of notifications. The goal is to allow userspace ethtool
utility to provide all features it currently does but without using the
ioctl interface. However, some features provided by ethtool ioctl API will
be available through other netlink interfaces (rtnetlink, devlink) if it's
more appropriate.
The interface uses generic netlink family "ethtool" and provides multicast
group "monitor" which is used for notifications. Documentation for the
interface is in Documentation/networking/ethtool-netlink.rst file. The
netlink interface is optional, it is built when CONFIG_ETHTOOL_NETLINK
(bool) option is enabled.
There are three types of request messages distinguished by suffix "_GET"
(query for information), "_SET" (modify parameters) and "_ACT" (perform an
action). Kernel reply messages have name with additional suffix "_REPLY"
(e.g. ETHTOOL_MSG_SETTINGS_GET_REPLY). Most "_SET" and "_ACT" message types
do not have matching reply type as only some of them need additional reply
data beyond numeric error code and extack. Kernel also broadcasts
notification messages ("_NTF" suffix) on changes.Thanks for re-posting these patches again, would you have ethtool and iproute2 branches with your latest ethnl patches applied? I did find your ethnl directory on your github, but it applies to a slightly oldish ethtool version. If you could maintain forks with an "ethnl" branch there, that would help greatly. I will continue reviewing from there on, but also wanted to give it a spin to get a feel. Thanks! -- Florian