From nobody Fri Oct 3 06:37:13 2025 Received: from mail1.fiberby.net (mail1.fiberby.net [193.104.135.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B70F52D6E65; Thu, 4 Sep 2025 22:03:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.104.135.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757023407; cv=none; b=YnxUituVbhC3YtpWeE8TMN4HpHQhP8f4fxF86BnheSP5TQgbrGrUjcQXv8d/U+JGPmNSc39ZO7TwPC3RNKwX3p8H+O+w9ohbzjRrtOyGhtqz6hJ8RzPGfw3ZhOnvXxTyHCdRq88I8TMl3qi2BrP9M5hiadoIkCOwQx5IE0/RQBI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757023407; c=relaxed/simple; bh=O56nXG2PIp67W8RUpsWeXklMaE5M2YiL8OY2yAjHgps=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Q3ctWrg8Z6oLLkEO/Gpe+I5lCe+ACuA2q6/a9Hi9SuENkg7ZSKupHKa1rLhCH5CT8FieCtBf9HYLFnfjfcIL4Nj/cLfK3vx/D1Qfiv927upDI+kgz2Bwj6ujcxI5KcWfJ5Ioa7oE69NL2925WI5z6pHGQpuByvQrocO6KnpmWOY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fiberby.net; spf=pass smtp.mailfrom=fiberby.net; dkim=pass (2048-bit key) header.d=fiberby.net header.i=@fiberby.net header.b=XloSlDjE; arc=none smtp.client-ip=193.104.135.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fiberby.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fiberby.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fiberby.net header.i=@fiberby.net header.b="XloSlDjE" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fiberby.net; s=202008; t=1757023398; bh=O56nXG2PIp67W8RUpsWeXklMaE5M2YiL8OY2yAjHgps=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XloSlDjEBfE2ov65mZY/AkKPSo8kum75TAV4IiZZE6y5QRyHv5Dk8rAYHMRXHnyLA qVz2l8xCdaRTtTwagNLF7OThfqUc10i3jVVPHCUeA0HaZJQky15k34ZfyqyCFgVDJu Jx3yC2D7pIzCni86ZFcqy5j0+tTqNxDuC+L77XBL/ddbjGuNN6T5Wmmkx573n2Xs8R bTwFVAeCx28MgnOUKMVvjZzWGTQ/qwzkR15shoHcbh1RM1nYbDROzoWpzWsi+r2T+L OU7GRAgqqzUrMXrcScQmM278fwnL+bNoJUFLPiZxYh7hSPYHJeg2qiigx2VNIMzj+U 2ZJvQLis41ENQ== Received: from x201s (193-104-135-243.ip4.fiberby.net [193.104.135.243]) by mail1.fiberby.net (Postfix) with ESMTPSA id 95E9760128; Thu, 4 Sep 2025 22:03:11 +0000 (UTC) Received: by x201s (Postfix, from userid 1000) id 84C42202A16; Thu, 04 Sep 2025 22:02:58 +0000 (UTC) From: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= To: "Jason A. Donenfeld" , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= , Donald Hunter , Simon Horman , Jacob Keller , Andrew Lunn , wireguard@lists.zx2c4.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC net-next 08/14] uapi: wireguard: generate header with ynl-gen Date: Thu, 4 Sep 2025 22:02:42 +0000 Message-ID: <20250904220255.1006675-8-ast@fiberby.net> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250904-wg-ynl-rfc@fiberby.net> References: <20250904-wg-ynl-rfc@fiberby.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Use ynl-gen to generate the UAPI header for wireguard. Changes in generated header: * As __*_F_ALL are not generated by ynl-gen: * All users have been replaced by their current value. * Once the policies are also generated, then the NLA_POLICY_MASK() policies will be kept in sync. * Convert the last bit-shifted flag value in enum wgdevice_flag. * Trivial include guard rename. * Trivial white space changes. No behavioural changes intended. Signed-off-by: Asbj=C3=B8rn Sloth T=C3=B8nnesen --- drivers/net/wireguard/netlink.c | 6 +++--- include/uapi/linux/wireguard.h | 26 +++++++++++--------------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/drivers/net/wireguard/netlink.c b/drivers/net/wireguard/netlin= k.c index 742d3f88d132..5dae2aa51346 100644 --- a/drivers/net/wireguard/netlink.c +++ b/drivers/net/wireguard/netlink.c @@ -24,7 +24,7 @@ static const struct nla_policy device_policy[WGDEVICE_A_M= AX + 1] =3D { [WGDEVICE_A_IFNAME] =3D { .type =3D NLA_NUL_STRING, .len =3D IFNAMSIZ - = 1 }, [WGDEVICE_A_PRIVATE_KEY] =3D NLA_POLICY_EXACT_LEN(WG_KEY_LEN), [WGDEVICE_A_PUBLIC_KEY] =3D NLA_POLICY_EXACT_LEN(WG_KEY_LEN), - [WGDEVICE_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, __WGDEVICE_F_ALL), + [WGDEVICE_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, 1), [WGDEVICE_A_LISTEN_PORT] =3D { .type =3D NLA_U16 }, [WGDEVICE_A_FWMARK] =3D { .type =3D NLA_U32 }, [WGDEVICE_A_PEERS] =3D NLA_POLICY_NESTED_ARRAY(peer_policy), @@ -33,7 +33,7 @@ static const struct nla_policy device_policy[WGDEVICE_A_M= AX + 1] =3D { static const struct nla_policy peer_policy[WGPEER_A_MAX + 1] =3D { [WGPEER_A_PUBLIC_KEY] =3D NLA_POLICY_EXACT_LEN(WG_KEY_LEN), [WGPEER_A_PRESHARED_KEY] =3D NLA_POLICY_EXACT_LEN(WG_KEY_LEN), - [WGPEER_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, __WGPEER_F_ALL), + [WGPEER_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, 7), [WGPEER_A_ENDPOINT] =3D NLA_POLICY_MIN_LEN(sizeof(struct sockaddr)), [WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL] =3D { .type =3D NLA_U16 }, [WGPEER_A_LAST_HANDSHAKE_TIME] =3D NLA_POLICY_EXACT_LEN(sizeof(struct _= _kernel_timespec)), @@ -47,7 +47,7 @@ static const struct nla_policy allowedip_policy[WGALLOWED= IP_A_MAX + 1] =3D { [WGALLOWEDIP_A_FAMILY] =3D { .type =3D NLA_U16 }, [WGALLOWEDIP_A_IPADDR] =3D NLA_POLICY_MIN_LEN(sizeof(struct in_addr)), [WGALLOWEDIP_A_CIDR_MASK] =3D { .type =3D NLA_U8 }, - [WGALLOWEDIP_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, __WGALLOWEDIP_F_ALL), + [WGALLOWEDIP_A_FLAGS] =3D NLA_POLICY_MASK(NLA_U32, 1), }; =20 static struct wg_device *lookup_interface(struct nlattr **attrs, diff --git a/include/uapi/linux/wireguard.h b/include/uapi/linux/wireguard.h index 623ec9527e22..b83973aed9f8 100644 --- a/include/uapi/linux/wireguard.h +++ b/include/uapi/linux/wireguard.h @@ -1,32 +1,28 @@ -/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */ -/* - * Copyright (C) 2015-2019 Jason A. Donenfeld . All Right= s Reserved. - */ +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Cl= ause) */ +/* Do not edit directly, auto-generated from: */ +/* Documentation/netlink/specs/wireguard.yaml */ +/* YNL-GEN uapi header */ =20 -#ifndef _WG_UAPI_WIREGUARD_H -#define _WG_UAPI_WIREGUARD_H +#ifndef _UAPI_LINUX_WIREGUARD_H +#define _UAPI_LINUX_WIREGUARD_H =20 -#define WG_GENL_NAME "wireguard" -#define WG_GENL_VERSION 1 +#define WG_GENL_NAME "wireguard" +#define WG_GENL_VERSION 1 =20 -#define WG_KEY_LEN 32 +#define WG_KEY_LEN 32 =20 enum wgdevice_flag { - WGDEVICE_F_REPLACE_PEERS =3D 1U << 0, - __WGDEVICE_F_ALL =3D WGDEVICE_F_REPLACE_PEERS + WGDEVICE_F_REPLACE_PEERS =3D 1, }; =20 enum wgpeer_flag { WGPEER_F_REMOVE_ME =3D 1, WGPEER_F_REPLACE_ALLOWEDIPS =3D 2, WGPEER_F_UPDATE_ONLY =3D 4, - __WGPEER_F_ALL =3D WGPEER_F_REMOVE_ME | WGPEER_F_REPLACE_ALLOWEDIPS | - WGPEER_F_UPDATE_ONLY }; =20 enum wgallowedip_flag { WGALLOWEDIP_F_REMOVE_ME =3D 1, - __WGALLOWEDIP_F_ALL =3D WGALLOWEDIP_F_REMOVE_ME }; =20 enum wgdevice_attribute { @@ -80,4 +76,4 @@ enum wg_cmd { }; #define WG_CMD_MAX (__WG_CMD_MAX - 1) =20 -#endif /* _WG_UAPI_WIREGUARD_H */ +#endif /* _UAPI_LINUX_WIREGUARD_H */ --=20 2.51.0