Re: [PATCH net-next v8 00/14] ethtool netlink interface, part 1

From: Michal Kubecek
Date: Mon Dec 23 2019 - 17:05:28 EST


On Mon, Dec 23, 2019 at 08:52:01AM -0800, Florian Fainelli wrote:
> 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.

The iproute2 patch (adding display of permanent hardware address) is in
iproute2 "next" tree. As for (userspace) ethtool code, at the moment
it's not in a presentable state. As I wanted on getting v8 out as soon
as possible, I focused on making it work somehow so that I can test the
kernel patchset. So at the moment, the userspace series is still in the
form of an older one (implementing older UAPI) plus one bit "work in
progress" patch adapting it to current UAPI.

The userspace code also still doesn't look the way I would like it to.
I would like to spend some more time on it in second half of this week
and then I plan to also update the repository on github.

Michal

> I will continue reviewing from there on, but also wanted to give it a
> spin to get a feel.
>
> Thanks!
> --
> Florian