From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org, donald.hunter@gmail.com,
jacob.e.keller@intel.com, yuyanghuang@google.com,
sdf@fomichev.me, gnault@redhat.com, nicolas.dichtel@6wind.com,
petrm@nvidia.com, Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH net-next 00/13] tools: ynl: c: basic netlink-raw support
Date: Tue, 8 Apr 2025 17:03:47 -0700 [thread overview]
Message-ID: <20250409000400.492371-1-kuba@kernel.org> (raw)
Basic support for netlink-raw AKA classic netlink in user space C codegen.
This series is enough to read routes and addresses from the kernel
(see the samples in patches 12 and 13).
Specs need to be slightly adjusted and decorated with the c naming info.
In terms of codegen this series includes just the basic plumbing required
to skip genlmsghdr and handle request types which may technically also
be legal in genetlink-legacy but are very uncommon there.
Subsequent series will add support for:
- handling CRUD-style notifications
- code gen for array types classic netlink uses
- sub-message support
Jakub Kicinski (13):
netlink: specs: rename rtnetlink specs in accordance with family name
netlink: specs: rt-route: specify fixed-header at operations level
netlink: specs: rt-addr: remove the fixed members from attrs
netlink: specs: rt-route: remove the fixed members from attrs
netlink: specs: rt-addr: add C naming info
netlink: specs: rt-route: add C naming info
tools: ynl: support creating non-genl sockets
tools: ynl-gen: don't consider requests with fixed hdr empty
tools: ynl: don't use genlmsghdr in classic netlink
tools: ynl-gen: consider dump ops without a do "type-consistent"
tools: ynl-gen: use family c-name in notifications
tools: ynl: generate code for rt-addr and add a sample
tools: ynl: generate code for rt-route and add a sample
.../specs/{rt_addr.yaml => rt-addr.yaml} | 24 ++----
.../specs/{rt_link.yaml => rt-link.yaml} | 0
.../specs/{rt_neigh.yaml => rt-neigh.yaml} | 0
.../specs/{rt_route.yaml => rt-route.yaml} | 22 ++---
.../specs/{rt_rule.yaml => rt-rule.yaml} | 0
.../userspace-api/netlink/netlink-raw.rst | 2 +-
tools/net/ynl/Makefile.deps | 2 +
tools/net/ynl/generated/Makefile | 2 +-
tools/net/ynl/lib/ynl-priv.h | 3 +
tools/net/ynl/lib/ynl.h | 3 +
tools/net/ynl/lib/ynl.c | 59 +++++++++-----
tools/net/ynl/samples/rt-addr.c | 80 +++++++++++++++++++
tools/net/ynl/samples/rt-route.c | 80 +++++++++++++++++++
tools/net/ynl/pyynl/ynl_gen_c.py | 55 +++++++++----
tools/net/ynl/samples/.gitignore | 4 +-
tools/testing/selftests/net/lib/py/ynl.py | 4 +-
16 files changed, 263 insertions(+), 77 deletions(-)
rename Documentation/netlink/specs/{rt_addr.yaml => rt-addr.yaml} (89%)
rename Documentation/netlink/specs/{rt_link.yaml => rt-link.yaml} (100%)
rename Documentation/netlink/specs/{rt_neigh.yaml => rt-neigh.yaml} (100%)
rename Documentation/netlink/specs/{rt_route.yaml => rt-route.yaml} (93%)
rename Documentation/netlink/specs/{rt_rule.yaml => rt-rule.yaml} (100%)
create mode 100644 tools/net/ynl/samples/rt-addr.c
create mode 100644 tools/net/ynl/samples/rt-route.c
--
2.49.0
next reply other threads:[~2025-04-09 0:04 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 0:03 Jakub Kicinski [this message]
2025-04-09 0:03 ` [PATCH net-next 01/13] netlink: specs: rename rtnetlink specs in accordance with family name Jakub Kicinski
2025-04-09 4:49 ` Jacob Keller
2025-04-09 12:15 ` Donald Hunter
2025-04-09 14:15 ` Jakub Kicinski
2025-04-09 14:36 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 02/13] netlink: specs: rt-route: specify fixed-header at operations level Jakub Kicinski
2025-04-09 4:50 ` Jacob Keller
2025-04-09 12:16 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 03/13] netlink: specs: rt-addr: remove the fixed members from attrs Jakub Kicinski
2025-04-09 4:53 ` Jacob Keller
2025-04-09 4:58 ` Jacob Keller
2025-04-09 12:19 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 04/13] netlink: specs: rt-route: " Jakub Kicinski
2025-04-09 4:58 ` Jacob Keller
2025-04-09 12:20 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 05/13] netlink: specs: rt-addr: add C naming info Jakub Kicinski
2025-04-09 4:54 ` Jacob Keller
2025-04-09 12:21 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 06/13] netlink: specs: rt-route: " Jakub Kicinski
2025-04-09 4:54 ` Jacob Keller
2025-04-09 12:21 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 07/13] tools: ynl: support creating non-genl sockets Jakub Kicinski
2025-04-09 4:56 ` Jacob Keller
2025-04-09 12:25 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 08/13] tools: ynl-gen: don't consider requests with fixed hdr empty Jakub Kicinski
2025-04-09 4:57 ` Jacob Keller
2025-04-09 0:03 ` [PATCH net-next 09/13] tools: ynl: don't use genlmsghdr in classic netlink Jakub Kicinski
2025-04-09 4:59 ` Jacob Keller
2025-04-09 12:26 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 10/13] tools: ynl-gen: consider dump ops without a do "type-consistent" Jakub Kicinski
2025-04-09 5:01 ` Jacob Keller
2025-04-09 12:38 ` Donald Hunter
2025-04-09 13:52 ` Jakub Kicinski
2025-04-09 21:58 ` Jacob Keller
2025-04-09 0:03 ` [PATCH net-next 11/13] tools: ynl-gen: use family c-name in notifications Jakub Kicinski
2025-04-09 5:01 ` Jacob Keller
2025-04-09 12:38 ` Donald Hunter
2025-04-09 0:03 ` [PATCH net-next 12/13] tools: ynl: generate code for rt-addr and add a sample Jakub Kicinski
2025-04-09 5:04 ` Jacob Keller
2025-04-09 15:01 ` Jakub Kicinski
2025-04-09 12:50 ` Donald Hunter
2025-04-09 0:04 ` [PATCH net-next 13/13] tools: ynl: generate code for rt-route " Jakub Kicinski
2025-04-09 5:05 ` Jacob Keller
2025-04-09 12:49 ` Donald Hunter
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=20250409000400.492371-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=gnault@redhat.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.com \
--cc=sdf@fomichev.me \
--cc=yuyanghuang@google.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.