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/ovpn.yaml */
  4/* YNL-GEN uapi header */
  5
  6#ifndef _LINUX_OVPN_H
  7#define _LINUX_OVPN_H
  8
  9#define OVPN_FAMILY_NAME	"ovpn"
 10#define OVPN_FAMILY_VERSION	1
 11
 12#define OVPN_NONCE_TAIL_SIZE	8
 13
 14enum ovpn_cipher_alg {
 15	OVPN_CIPHER_ALG_NONE,
 16	OVPN_CIPHER_ALG_AES_GCM,
 17	OVPN_CIPHER_ALG_CHACHA20_POLY1305,
 18};
 19
 20enum ovpn_del_peer_reason {
 21	OVPN_DEL_PEER_REASON_TEARDOWN,
 22	OVPN_DEL_PEER_REASON_USERSPACE,
 23	OVPN_DEL_PEER_REASON_EXPIRED,
 24	OVPN_DEL_PEER_REASON_TRANSPORT_ERROR,
 25	OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT,
 26};
 27
 28enum ovpn_key_slot {
 29	OVPN_KEY_SLOT_PRIMARY,
 30	OVPN_KEY_SLOT_SECONDARY,
 31};
 32
 33enum {
 34	OVPN_A_PEER_ID = 1,
 35	OVPN_A_PEER_REMOTE_IPV4,
 36	OVPN_A_PEER_REMOTE_IPV6,
 37	OVPN_A_PEER_REMOTE_IPV6_SCOPE_ID,
 38	OVPN_A_PEER_REMOTE_PORT,
 39	OVPN_A_PEER_SOCKET,
 40	OVPN_A_PEER_SOCKET_NETNSID,
 41	OVPN_A_PEER_VPN_IPV4,
 42	OVPN_A_PEER_VPN_IPV6,
 43	OVPN_A_PEER_LOCAL_IPV4,
 44	OVPN_A_PEER_LOCAL_IPV6,
 45	OVPN_A_PEER_LOCAL_PORT,
 46	OVPN_A_PEER_KEEPALIVE_INTERVAL,
 47	OVPN_A_PEER_KEEPALIVE_TIMEOUT,
 48	OVPN_A_PEER_DEL_REASON,
 49	OVPN_A_PEER_VPN_RX_BYTES,
 50	OVPN_A_PEER_VPN_TX_BYTES,
 51	OVPN_A_PEER_VPN_RX_PACKETS,
 52	OVPN_A_PEER_VPN_TX_PACKETS,
 53	OVPN_A_PEER_LINK_RX_BYTES,
 54	OVPN_A_PEER_LINK_TX_BYTES,
 55	OVPN_A_PEER_LINK_RX_PACKETS,
 56	OVPN_A_PEER_LINK_TX_PACKETS,
 57
 58	__OVPN_A_PEER_MAX,
 59	OVPN_A_PEER_MAX = (__OVPN_A_PEER_MAX - 1)
 60};
 61
 62enum {
 63	OVPN_A_KEYCONF_PEER_ID = 1,
 64	OVPN_A_KEYCONF_SLOT,
 65	OVPN_A_KEYCONF_KEY_ID,
 66	OVPN_A_KEYCONF_CIPHER_ALG,
 67	OVPN_A_KEYCONF_ENCRYPT_DIR,
 68	OVPN_A_KEYCONF_DECRYPT_DIR,
 69
 70	__OVPN_A_KEYCONF_MAX,
 71	OVPN_A_KEYCONF_MAX = (__OVPN_A_KEYCONF_MAX - 1)
 72};
 73
 74enum {
 75	OVPN_A_KEYDIR_CIPHER_KEY = 1,
 76	OVPN_A_KEYDIR_NONCE_TAIL,
 77
 78	__OVPN_A_KEYDIR_MAX,
 79	OVPN_A_KEYDIR_MAX = (__OVPN_A_KEYDIR_MAX - 1)
 80};
 81
 82enum {
 83	OVPN_A_IFINDEX = 1,
 84	OVPN_A_PEER,
 85	OVPN_A_KEYCONF,
 86
 87	__OVPN_A_MAX,
 88	OVPN_A_MAX = (__OVPN_A_MAX - 1)
 89};
 90
 91enum {
 92	OVPN_CMD_PEER_NEW = 1,
 93	OVPN_CMD_PEER_SET,
 94	OVPN_CMD_PEER_GET,
 95	OVPN_CMD_PEER_DEL,
 96	OVPN_CMD_PEER_DEL_NTF,
 97	OVPN_CMD_KEY_NEW,
 98	OVPN_CMD_KEY_GET,
 99	OVPN_CMD_KEY_SWAP,
100	OVPN_CMD_KEY_SWAP_NTF,
101	OVPN_CMD_KEY_DEL,
102
103	__OVPN_CMD_MAX,
104	OVPN_CMD_MAX = (__OVPN_CMD_MAX - 1)
105};
106
107#define OVPN_MCGRP_PEERS	"peers"
108
109#endif /* _LINUX_OVPN_H */