From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: "Asbjørn Sloth Tønnesen" <ast@fiberby.net>
Cc: Jakub Kicinski <kuba@kernel.org>,
Donald Hunter <donald.hunter@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.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, Jordan Rife <jordan@jrife.io>
Subject: Re: [PATCH net-next v3 11/11] wireguard: netlink: generate netlink code
Date: Tue, 18 Nov 2025 23:51:37 +0100 [thread overview]
Message-ID: <aRz4eVCjw_JUXki6@zx2c4.com> (raw)
In-Reply-To: <d2e84a2b-74cd-44a1-97a6-a10ece7b4c5f@fiberby.net>
On Tue, Nov 18, 2025 at 10:23:12PM +0000, Asbjørn Sloth Tønnesen wrote:
> On 11/18/25 3:15 PM, Jason A. Donenfeld wrote:
> > On Wed, Nov 05, 2025 at 06:32:20PM +0000, Asbjørn Sloth Tønnesen wrote:
> >> drivers/net/wireguard/netlink_gen.c | 77 +++++++++++++++++++++++++++++
> >> drivers/net/wireguard/netlink_gen.h | 29 +++++++++++
> >> create mode 100644 drivers/net/wireguard/netlink_gen.c
> >> create mode 100644 drivers/net/wireguard/netlink_gen.h
> >> +#include "netlink_gen.h"
> >> +// SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
> >> +/* Do not edit directly, auto-generated from: */
> >> +/* Documentation/netlink/specs/wireguard.yaml */
> >> +/* YNL-GEN kernel source */
> >
> > Similar to what's happening in the tools/ynl/samples build system,
> > instead of statically generating this, can you have this be generated at
> > build time, and placed into a generated/ folder that doesn't get checked
> > into git? I don't see the purpose of having to manually keep this in
> > check?
> >
> > (And if for some reason, you refuse to do that, it'd be very nice if the
> > DO NOT EDIT header of the file also had the command that generated it,
> > in case I need to regenerate it later and can't remember how it was
> > done, because I didn't do it the first time, etc. Go's generated files
> > usually follow this pattern.
> >
> > But anyway, I think I'd prefer, if it's possible, to just have this
> > generated at compile time.)
>
> The main value in having the generated kernel code in git, is that it can't
> change accidentally, which makes it easy for patchwork to catch if output
> changes without being a part of the commit.
>
> I will leave it up to Donald and Jakub, if they want to allow these files to
> be generated on-the-fly.
I mean, there is *tons* of generated code in the kernel. This is how it
works. And you *want the output to change when the tool changes*. That's
literally the point. It would be like if you wanted to check in all the
.o files, in case the compiler started generating different output, or
if you wanted the objtool output or anything else to be checked in. And
sheerly from a git perspective, it seems outrageous to touch a zillion
files every time the ynl code changes. Rather, the fact that it's
generated on the fly ensures that the ynl generator stays correctly
implemented. It's the best way to keep that code from rotting.
Jason
next prev parent reply other threads:[~2025-11-18 22:51 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-05 18:32 [PATCH net-next v3 00/11] wireguard: netlink: ynl conversion Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 01/11] wireguard: netlink: validate nested arrays in policy Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 02/11] wireguard: netlink: use WG_KEY_LEN in policies Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 03/11] wireguard: netlink: enable strict genetlink validation Asbjørn Sloth Tønnesen
2025-11-18 15:15 ` Jason A. Donenfeld
2025-11-18 17:10 ` Jason A. Donenfeld
2025-11-26 16:24 ` Asbjørn Sloth Tønnesen
2025-11-26 16:26 ` Jason A. Donenfeld
2025-11-05 18:32 ` [PATCH net-next v3 04/11] netlink: specs: add specification for wireguard Asbjørn Sloth Tønnesen
2025-11-18 2:15 ` Jason A. Donenfeld
2025-11-18 12:08 ` Asbjørn Sloth Tønnesen
2025-11-18 15:07 ` Jason A. Donenfeld
2025-11-18 21:59 ` Asbjørn Sloth Tønnesen
2025-11-18 22:52 ` Jason A. Donenfeld
2025-11-19 0:50 ` Jakub Kicinski
2025-11-19 19:19 ` Asbjørn Sloth Tønnesen
2025-11-19 19:22 ` Jason A. Donenfeld
2025-11-19 19:47 ` Asbjørn Sloth Tønnesen
2025-11-19 20:01 ` Jason A. Donenfeld
2025-11-20 2:27 ` Jakub Kicinski
2025-11-05 18:32 ` [PATCH net-next v3 05/11] uapi: wireguard: move enum wg_cmd Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 06/11] uapi: wireguard: move flag enums Asbjørn Sloth Tønnesen
2025-11-18 15:10 ` Jason A. Donenfeld
2025-11-05 18:32 ` [PATCH net-next v3 07/11] uapi: wireguard: generate header with ynl-gen Asbjørn Sloth Tønnesen
2025-11-18 15:17 ` Jason A. Donenfeld
2025-11-19 0:53 ` Jakub Kicinski
2025-11-20 0:55 ` Jason A. Donenfeld
2025-11-05 18:32 ` [PATCH net-next v3 08/11] tools: ynl: add sample for wireguard Asbjørn Sloth Tønnesen
2025-11-18 15:20 ` Jason A. Donenfeld
2025-11-18 17:16 ` Asbjørn Sloth Tønnesen
2025-11-18 17:17 ` Jason A. Donenfeld
2025-11-05 18:32 ` [PATCH net-next v3 09/11] wireguard: netlink: convert to split ops Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 10/11] wireguard: netlink: rename netlink handlers Asbjørn Sloth Tønnesen
2025-11-05 18:32 ` [PATCH net-next v3 11/11] wireguard: netlink: generate netlink code Asbjørn Sloth Tønnesen
2025-11-18 15:15 ` Jason A. Donenfeld
2025-11-18 16:57 ` Jason A. Donenfeld
2025-11-18 22:23 ` Asbjørn Sloth Tønnesen
2025-11-18 22:51 ` Jason A. Donenfeld [this message]
2025-11-19 1:00 ` Jakub Kicinski
2025-11-20 0:54 ` Jason A. Donenfeld
2025-11-20 2:44 ` Jakub Kicinski
2025-11-20 2:46 ` Jason A. Donenfeld
2025-11-20 3:19 ` Jakub Kicinski
2025-11-20 19:49 ` Asbjørn Sloth Tønnesen
2025-11-11 2:07 ` [PATCH net-next v3 00/11] wireguard: netlink: ynl conversion Jakub Kicinski
2025-11-12 3:59 ` Jason A. Donenfeld
2025-11-18 0:14 ` Jakub Kicinski
2025-11-18 0:43 ` Jason A. Donenfeld
2025-11-18 0:56 ` 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=aRz4eVCjw_JUXki6@zx2c4.com \
--to=jason@zx2c4.com \
--cc=andrew+netdev@lunn.ch \
--cc=ast@fiberby.net \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jordan@jrife.io \
--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;
as well as URLs for NNTP newsgroup(s).