From: Stanislav Fomichev <sdf@google.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: davem@davemloft.net, netdev@vger.kernel.org, edumazet@google.com,
pabeni@redhat.com
Subject: Re: [PATCH net-next 00/13] tools: ynl: more docs and basic ethtool support
Date: Mon, 30 Jan 2023 11:36:23 -0800 [thread overview]
Message-ID: <Y9gcN9agk89c2K3l@google.com> (raw)
In-Reply-To: <20230128043217.1572362-1-kuba@kernel.org>
On 01/27, Jakub Kicinski wrote:
> I got discouraged from supporting ethtool in specs, because
> generating the user space C code seems a little tricky.
> The messages are ID'ed in a "directional" way (to and from
> kernel are separate ID "spaces"). There is value, however,
> in having the spec and being able to for example use it
> in Python.
> After paying off some technical debt - add a partial
> ethtool spec. Partial because the header for ethtool is almost
> a 1000 LoC, so converting in one sitting is tough. But adding
> new commands should be trivial now.
> Last but not least I add more docs, I realized that I've been
> sending a similar "instructions" email to people working on
> new families. It's now intro-specs.rst.
FWIW, I've played with it a bit and left some nits in the doc:
Acked-by: Stanislav Fomichev <sdf@google.com>
One unrelated thing that maybe worth mentioning is that /usr/bin/python
is no more on Debian and there is only /usr/bin/python3, so maybe worth
changing the /usr/bin/env shebang to python3? (although I'm not sure
what's the story overall with 2->3 migration; archlinux has a
python->python3
symlink).
> Jakub Kicinski (13):
> tools: ynl-gen: prevent do / dump reordering
> tools: ynl: move the cli and netlink code around
> tools: ynl: add an object hierarchy to represent parsed spec
> tools: ynl: use the common YAML loading and validation code
> tools: ynl: add support for types needed by ethtool
> tools: ynl: support directional enum-model in CLI
> tools: ynl: support multi-attr
> tools: ynl: support pretty printing bad attribute names
> tools: ynl: use operation names from spec on the CLI
> tools: ynl: load jsonschema on demand
> netlink: specs: finish up operation enum-models
> netlink: specs: add partial specification for ethtool
> docs: netlink: add a starting guide for working with specs
> Documentation/netlink/genetlink-c.yaml | 4 +-
> Documentation/netlink/genetlink-legacy.yaml | 11 +-
> Documentation/netlink/genetlink.yaml | 4 +-
> Documentation/netlink/specs/ethtool.yaml | 392 ++++++++++++++++++
> .../netlink/genetlink-legacy.rst | 82 ++++
> Documentation/userspace-api/netlink/index.rst | 1 +
> .../userspace-api/netlink/intro-specs.rst | 80 ++++
> Documentation/userspace-api/netlink/specs.rst | 3 +
> tools/net/ynl/{samples => }/cli.py | 15 +-
> tools/net/ynl/lib/__init__.py | 7 +
> tools/net/ynl/lib/nlspec.py | 310 ++++++++++++++
> tools/net/ynl/{samples => lib}/ynl.py | 192 +++++----
> tools/net/ynl/ynl-gen-c.py | 260 ++++++------
> 13 files changed, 1107 insertions(+), 254 deletions(-)
> create mode 100644 Documentation/netlink/specs/ethtool.yaml
> create mode 100644 Documentation/userspace-api/netlink/intro-specs.rst
> rename tools/net/ynl/{samples => }/cli.py (78%)
> create mode 100644 tools/net/ynl/lib/__init__.py
> create mode 100644 tools/net/ynl/lib/nlspec.py
> rename tools/net/ynl/{samples => lib}/ynl.py (79%)
> --
> 2.39.1
next prev parent reply other threads:[~2023-01-30 19:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-28 4:32 [PATCH net-next 00/13] tools: ynl: more docs and basic ethtool support Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 01/13] tools: ynl-gen: prevent do / dump reordering Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 02/13] tools: ynl: move the cli and netlink code around Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 03/13] tools: ynl: add an object hierarchy to represent parsed spec Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 04/13] tools: ynl: use the common YAML loading and validation code Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 05/13] tools: ynl: add support for types needed by ethtool Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 06/13] tools: ynl: support directional enum-model in CLI Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 07/13] tools: ynl: support multi-attr Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 08/13] tools: ynl: support pretty printing bad attribute names Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 09/13] tools: ynl: use operation names from spec on the CLI Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 10/13] tools: ynl: load jsonschema on demand Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 11/13] netlink: specs: finish up operation enum-models Jakub Kicinski
2023-01-30 19:32 ` Stanislav Fomichev
2023-01-28 4:32 ` [PATCH net-next 12/13] netlink: specs: add partial specification for ethtool Jakub Kicinski
2023-01-28 4:32 ` [PATCH net-next 13/13] docs: netlink: add a starting guide for working with specs Jakub Kicinski
2023-01-30 19:36 ` Stanislav Fomichev [this message]
2023-01-30 19:51 ` [PATCH net-next 00/13] tools: ynl: more docs and basic ethtool support Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y9gcN9agk89c2K3l@google.com \
--to=sdf@google.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.