All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 00/11] wireguard: netlink: ynl conversion
@ 2025-10-31 16:05 Asbjørn Sloth Tønnesen
  2025-10-31 16:05 ` [PATCH net-next v2 01/11] wireguard: netlink: validate nested arrays in policy Asbjørn Sloth Tønnesen
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2025-10-31 16:05 UTC (permalink / raw)
  To: Jason A. Donenfeld, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Asbjørn Sloth Tønnesen, Donald Hunter, Simon Horman,
	Jacob Keller, Andrew Lunn, wireguard, netdev, linux-kernel

This series completes the implementation of YNL for wireguard,
as previously announced[1].

This series consist of 5 parts:
1) Patch 01-03 - Misc. changes
2) Patch    04 - Add YNL specification for wireguard
3) Patch 05-07 - Transition to a generated UAPI header
4) Patch    08 - Adds a sample program for the generated C library
5) Patch 09-11 - Transition to generated netlink policy code

The main benefit of having a YNL specification is unlocked after the
first 2 parts, the RFC version seems to already have spawned a new
Rust netlink binding[2] using wireguard as it's main example.

Part 3 and 5 validates that the specification is complete and aligned,
the generated code might have a few warts, but they don't matter too
much, and are mostly a transitional problem[3].

Part 4 is possible after part 2, but is ordered after part 3,
as it needs to duplicate the UAPI header in tools/include.

For the non-generated kernel C code the diff stat looks like this:

$ git diff --stat net-next/main..wg-ynl include/ drivers/ \
	':(exclude)*netlink_gen*'
 drivers/net/wireguard/Makefile  |   1 +
 drivers/net/wireguard/netlink.c |  70 +++---------
 include/uapi/linux/wireguard.h  | 190 ++++++--------------------------
 3 files changed, 47 insertions(+), 214 deletions(-)

[1] [PATCH net 0/4] tools: ynl-gen: misc fixes + wireguard ynl plan
    https://lore.kernel.org/r/20250901145034.525518-1-ast@fiberby.net/

[2] https://github.com/one-d-wide/netlink-bindings/

[3] https://lore.kernel.org/r/20251014123201.6ecfd146@kernel.org/

---
v2:
- Add missing forward declaration

v1: https://lore.kernel.org/r/20251029205123.286115-1-ast@fiberby.net/
- Policy arguement to nla_parse_nested() changed to NULL (thanks Johannes).
- Added attr-cnt-name to the spec, to reduce the diff a bit.
- Refined the doc in the spec a bit.
- Reword commit messages a bit.
- Reordered the patches, and reduced the series from 14 to 11 patches.

RFC: https://lore.kernel.org/r/20250904-wg-ynl-rfc@fiberby.net/

Asbjørn Sloth Tønnesen (11):
  wireguard: netlink: validate nested arrays in policy
  wireguard: netlink: use WG_KEY_LEN in policies
  wireguard: netlink: enable strict genetlink validation
  netlink: specs: add specification for wireguard
  uapi: wireguard: move enum wg_cmd
  uapi: wireguard: move flag enums
  uapi: wireguard: generate header with ynl-gen
  tools: ynl: add sample for wireguard
  wireguard: netlink: convert to split ops
  wireguard: netlink: rename netlink handlers
  wireguard: netlink: generate netlink code

 Documentation/netlink/specs/wireguard.yaml | 307 +++++++++++++++++++++
 MAINTAINERS                                |   3 +
 drivers/net/wireguard/Makefile             |   1 +
 drivers/net/wireguard/netlink.c            |  70 +----
 drivers/net/wireguard/netlink_gen.c        |  77 ++++++
 drivers/net/wireguard/netlink_gen.h        |  29 ++
 include/uapi/linux/wireguard.h             | 190 +++----------
 tools/include/uapi/linux/wireguard.h       |  79 ++++++
 tools/net/ynl/samples/.gitignore           |   1 +
 tools/net/ynl/samples/wireguard.c          | 104 +++++++
 10 files changed, 647 insertions(+), 214 deletions(-)
 create mode 100644 Documentation/netlink/specs/wireguard.yaml
 create mode 100644 drivers/net/wireguard/netlink_gen.c
 create mode 100644 drivers/net/wireguard/netlink_gen.h
 create mode 100644 tools/include/uapi/linux/wireguard.h
 create mode 100644 tools/net/ynl/samples/wireguard.c

-- 
2.51.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-11-05  3:08 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-31 16:05 [PATCH net-next v2 00/11] wireguard: netlink: ynl conversion Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 01/11] wireguard: netlink: validate nested arrays in policy Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 02/11] wireguard: netlink: use WG_KEY_LEN in policies Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 03/11] wireguard: netlink: enable strict genetlink validation Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 04/11] netlink: specs: add specification for wireguard Asbjørn Sloth Tønnesen
2025-11-05  3:07   ` Jakub Kicinski
2025-10-31 16:05 ` [PATCH net-next v2 05/11] uapi: wireguard: move enum wg_cmd Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 06/11] uapi: wireguard: move flag enums Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 07/11] uapi: wireguard: generate header with ynl-gen Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 08/11] tools: ynl: add sample for wireguard Asbjørn Sloth Tønnesen
2025-11-05  3:08   ` Jakub Kicinski
2025-10-31 16:05 ` [PATCH net-next v2 09/11] wireguard: netlink: convert to split ops Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 10/11] wireguard: netlink: rename netlink handlers Asbjørn Sloth Tønnesen
2025-10-31 16:05 ` [PATCH net-next v2 11/11] wireguard: netlink: generate netlink code Asbjørn Sloth Tønnesen

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.