The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "Asbjørn Sloth Tønnesen" <ast@fiberby.net>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Donald Hunter <donald.hunter@gmail.com>,
	Simon Horman <horms@kernel.org>,
	Jacob Keller <jacob.e.keller@intel.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	wireguard@lists.zx2c4.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC net-next 00/14] wireguard: netlink: ynl conversion
Date: Wed, 17 Sep 2025 11:52:31 +0000	[thread overview]
Message-ID: <de8ecfb8-ca4d-4397-9d70-4fe789e706f5@fiberby.net> (raw)
In-Reply-To: <CAHmME9ra4_P0-FdVV75gaAWiW8yWsUJJsmTes_kac0EdTgnjHQ@mail.gmail.com>

On 9/16/25 3:51 PM, Jason A. Donenfeld wrote:
> On Fri, Sep 5, 2025 at 12:03 AM Asbjørn Sloth Tønnesen <ast@fiberby.net> wrote:
>>
>> This series contains the wireguard changes needed to adopt
>> an YNL-based generated netlink code.
>>
>> This RFC series is posted for reference, as it is referenced
>> from the current v1 series of ynl preparations, which has to
>> go in before this series can be submitted for net-next.
> 
> I'm not actually convinced this makes anything better. It seems like
> the code becomes more complicated and less obvious. What is the
> benefit here? As is, I really don't like this direction.

By adding an YNL spec, we lower the barrier for implementing and
using the protocol especially from non-C languages.

The specs are currently used for:
- Documentation generation [1].
- Optional UAPI header generation.
- Optional kernel netlink code generation.
- In-tree user-space clients:
   - Auto-generated C library code.
   - Optional sample program using above C library.
   - Python client - ./tools/net/ynl/pyynl/cli.py.

The generated kernel code is still committed in git,
and is thus protected from accidental changes.

When we can generate the UAPI from the spec., with only cosmetic
differences it proves that the spec is correct. Same goes for generating
the netlink policy generation.

I have split up adopting the generated UAPI and netlink code, over many
patches mostly to keep the diff readable, as the code moves would
otherwise become interlaced.

Including a sample program, makes it trivial to exercise the generated
C library.

This RFC is a bit more complicated, than v1 will be, as it includes an
alternative implementation for patch 4 in patch 12, I had hoped those
patches would have generated some comments. Right now it looks like,
they will both be squashed into patch 3 in v1.

I can also split this series up further, if you would prefer that.

[1] https://docs.kernel.org/networking/netlink_spec/

      reply	other threads:[~2025-09-17 11:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-04 22:02 [RFC net-next 00/14] wireguard: netlink: ynl conversion Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 01/14] wireguard: netlink: use WG_KEY_LEN in policies Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 02/14] wireguard: netlink: validate nested arrays in policy Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 03/14] netlink: specs: add specification for wireguard Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 04/14] netlink: specs: wireguard: add remaining checks Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 05/14] uapi: wireguard: use __*_A_MAX in enums Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 06/14] uapi: wireguard: move enum wg_cmd Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 07/14] uapi: wireguard: move flag enums Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 08/14] uapi: wireguard: generate header with ynl-gen Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 09/14] wireguard: netlink: convert to split ops Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 10/14] wireguard: netlink: rename netlink handlers Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 11/14] wireguard: netlink: generate netlink code Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 12/14] netlink: specs: wireguard: alternative to wireguard_params.h Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 13/14] wireguard: netlink: enable strict genetlink validation Asbjørn Sloth Tønnesen
2025-09-04 22:02 ` [RFC net-next 14/14] tools: ynl: add sample for wireguard Asbjørn Sloth Tønnesen
2025-09-16 15:51 ` [RFC net-next 00/14] wireguard: netlink: ynl conversion Jason A. Donenfeld
2025-09-17 11:52   ` Asbjørn Sloth Tønnesen [this message]

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=de8ecfb8-ca4d-4397-9d70-4fe789e706f5@fiberby.net \
    --to=ast@fiberby.net \
    --cc=Jason@zx2c4.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=donald.hunter@gmail.com \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=jacob.e.keller@intel.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=wireguard@lists.zx2c4.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox