xref: /linux/include/uapi/linux/wireguard.h (revision 8f7aa3d3c7323f4ca2768a9e74ebbe359c4f8f88)
1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2 /* Do not edit directly, auto-generated from: */
3 /*	Documentation/netlink/specs/wireguard.yaml */
4 /* YNL-GEN uapi header */
5 /* To regenerate run: tools/net/ynl/ynl-regen.sh */
6 
7 #ifndef _UAPI_LINUX_WIREGUARD_H
8 #define _UAPI_LINUX_WIREGUARD_H
9 
10 #define WG_GENL_NAME	"wireguard"
11 #define WG_GENL_VERSION	1
12 
13 #define WG_KEY_LEN	32
14 
15 enum wgdevice_flag {
16 	WGDEVICE_F_REPLACE_PEERS = 1,
17 };
18 
19 enum wgpeer_flag {
20 	WGPEER_F_REMOVE_ME = 1,
21 	WGPEER_F_REPLACE_ALLOWEDIPS = 2,
22 	WGPEER_F_UPDATE_ONLY = 4,
23 };
24 
25 enum wgallowedip_flag {
26 	WGALLOWEDIP_F_REMOVE_ME = 1,
27 };
28 
29 enum wgdevice_attribute {
30 	WGDEVICE_A_UNSPEC,
31 	WGDEVICE_A_IFINDEX,
32 	WGDEVICE_A_IFNAME,
33 	WGDEVICE_A_PRIVATE_KEY,
34 	WGDEVICE_A_PUBLIC_KEY,
35 	WGDEVICE_A_FLAGS,
36 	WGDEVICE_A_LISTEN_PORT,
37 	WGDEVICE_A_FWMARK,
38 	WGDEVICE_A_PEERS,
39 
40 	__WGDEVICE_A_LAST
41 };
42 #define WGDEVICE_A_MAX (__WGDEVICE_A_LAST - 1)
43 
44 enum wgpeer_attribute {
45 	WGPEER_A_UNSPEC,
46 	WGPEER_A_PUBLIC_KEY,
47 	WGPEER_A_PRESHARED_KEY,
48 	WGPEER_A_FLAGS,
49 	WGPEER_A_ENDPOINT,
50 	WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
51 	WGPEER_A_LAST_HANDSHAKE_TIME,
52 	WGPEER_A_RX_BYTES,
53 	WGPEER_A_TX_BYTES,
54 	WGPEER_A_ALLOWEDIPS,
55 	WGPEER_A_PROTOCOL_VERSION,
56 
57 	__WGPEER_A_LAST
58 };
59 #define WGPEER_A_MAX (__WGPEER_A_LAST - 1)
60 
61 enum wgallowedip_attribute {
62 	WGALLOWEDIP_A_UNSPEC,
63 	WGALLOWEDIP_A_FAMILY,
64 	WGALLOWEDIP_A_IPADDR,
65 	WGALLOWEDIP_A_CIDR_MASK,
66 	WGALLOWEDIP_A_FLAGS,
67 
68 	__WGALLOWEDIP_A_LAST
69 };
70 #define WGALLOWEDIP_A_MAX (__WGALLOWEDIP_A_LAST - 1)
71 
72 enum wg_cmd {
73 	WG_CMD_GET_DEVICE,
74 	WG_CMD_SET_DEVICE,
75 
76 	__WG_CMD_MAX
77 };
78 #define WG_CMD_MAX (__WG_CMD_MAX - 1)
79 
80 #endif /* _UAPI_LINUX_WIREGUARD_H */
81