[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKH8qBtDgxEdvPX_jZW431x4jB7dksA4fRS+cqGHVL+Favampw@mail.gmail.com>
Date: Fri, 9 Jun 2023 15:12:51 -0700
From: Stanislav Fomichev <sdf@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
pabeni@...hat.com
Subject: Re: [PATCH net-next 00/12] tools: ynl: generate code for the ethtool family
On Fri, Jun 9, 2023 at 2:43 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> And finally ethtool support. Thanks to Stan's work the ethtool family
> spec is quite complete, so there is a lot of operations to support.
>
> I chickened out of stats-get support, they require at the very least
> type-value support on a u64 scalar. Type-value is an arrangement where
> a u16 attribute is encoded directly in attribute type. Code gen can
> support this if the inside is a nest, we just throw in an extra
> field into that nest to carry the attr type. But a little more coding
> is needed to for a scalar, because first we need to turn the scalar
> into a struct with one member, then we can add the attr type.
>
> Other than that ethtool required event support (notification which
> does not share contents with any GET), but the previous series
> already added that to the codegen.
>
> I haven't tested all the ops here, and a few I tried seem to work.
>
> Jakub Kicinski (12):
> tools: ynl-gen: support excluding tricky ops
> tools: ynl-gen: record extra args for regen
> netlink: specs: support setting prefix-name per attribute
> netlink: specs: ethtool: add C render hints
> tools: ynl-gen: don't generate enum types if unnamed
> tools: ynl-gen: resolve enum vs struct name conflicts
> netlink: specs: ethtool: add empty enum stringset
> netlink: specs: ethtool: untangle UDP tunnels and cable test a bit
> netlink: specs: ethtool: untangle stats-get
> netlink: specs: ethtool: mark pads as pads
> tools: ynl: generate code for the ethtool family
> tools: ynl: add sample for ethtool
>
> Documentation/netlink/genetlink-c.yaml | 4 +
> Documentation/netlink/genetlink-legacy.yaml | 4 +
> Documentation/netlink/specs/ethtool.yaml | 120 +-
> tools/net/ynl/generated/Makefile | 9 +-
> tools/net/ynl/generated/ethtool-user.c | 6353 +++++++++++++++++++
> tools/net/ynl/generated/ethtool-user.h | 5531 ++++++++++++++++
> tools/net/ynl/lib/nlspec.py | 12 +-
> tools/net/ynl/samples/.gitignore | 1 +
> tools/net/ynl/samples/ethtool.c | 65 +
> tools/net/ynl/ynl-gen-c.py | 59 +-
> tools/net/ynl/ynl-regen.sh | 4 +-
> 11 files changed, 12116 insertions(+), 46 deletions(-)
> create mode 100644 tools/net/ynl/generated/ethtool-user.c
> create mode 100644 tools/net/ynl/generated/ethtool-user.h
> create mode 100644 tools/net/ynl/samples/ethtool.c
Exciting! Clicked through the series, everything makes sense:
Acked-by: Stanislav Fomichev <sdf@...gle.com>
Cable tests are yucky.
Powered by blists - more mailing lists