mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 15:36:48 +00:00

This commit introduces basic netlink support with family registration/unregistration functionalities and stub pre/post-doit. More importantly it introduces the YAML uAPI description along with its auto-generated files: - include/uapi/linux/ovpn.h - drivers/net/ovpn/netlink-gen.c - drivers/net/ovpn/netlink-gen.h Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: Antonio Quartulli <antonio@openvpn.net> Link: https://patch.msgid.link/20250415-b4-ovpn-v26-2-577f6097b964@openvpn.net Reviewed-by: Sabrina Dubroca <sd@queasysnail.net> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
110 lines
2.2 KiB
C
110 lines
2.2 KiB
C
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
/* Do not edit directly, auto-generated from: */
|
|
/* Documentation/netlink/specs/ovpn.yaml */
|
|
/* YNL-GEN uapi header */
|
|
|
|
#ifndef _UAPI_LINUX_OVPN_H
|
|
#define _UAPI_LINUX_OVPN_H
|
|
|
|
#define OVPN_FAMILY_NAME "ovpn"
|
|
#define OVPN_FAMILY_VERSION 1
|
|
|
|
#define OVPN_NONCE_TAIL_SIZE 8
|
|
|
|
enum ovpn_cipher_alg {
|
|
OVPN_CIPHER_ALG_NONE,
|
|
OVPN_CIPHER_ALG_AES_GCM,
|
|
OVPN_CIPHER_ALG_CHACHA20_POLY1305,
|
|
};
|
|
|
|
enum ovpn_del_peer_reason {
|
|
OVPN_DEL_PEER_REASON_TEARDOWN,
|
|
OVPN_DEL_PEER_REASON_USERSPACE,
|
|
OVPN_DEL_PEER_REASON_EXPIRED,
|
|
OVPN_DEL_PEER_REASON_TRANSPORT_ERROR,
|
|
OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT,
|
|
};
|
|
|
|
enum ovpn_key_slot {
|
|
OVPN_KEY_SLOT_PRIMARY,
|
|
OVPN_KEY_SLOT_SECONDARY,
|
|
};
|
|
|
|
enum {
|
|
OVPN_A_PEER_ID = 1,
|
|
OVPN_A_PEER_REMOTE_IPV4,
|
|
OVPN_A_PEER_REMOTE_IPV6,
|
|
OVPN_A_PEER_REMOTE_IPV6_SCOPE_ID,
|
|
OVPN_A_PEER_REMOTE_PORT,
|
|
OVPN_A_PEER_SOCKET,
|
|
OVPN_A_PEER_SOCKET_NETNSID,
|
|
OVPN_A_PEER_VPN_IPV4,
|
|
OVPN_A_PEER_VPN_IPV6,
|
|
OVPN_A_PEER_LOCAL_IPV4,
|
|
OVPN_A_PEER_LOCAL_IPV6,
|
|
OVPN_A_PEER_LOCAL_PORT,
|
|
OVPN_A_PEER_KEEPALIVE_INTERVAL,
|
|
OVPN_A_PEER_KEEPALIVE_TIMEOUT,
|
|
OVPN_A_PEER_DEL_REASON,
|
|
OVPN_A_PEER_VPN_RX_BYTES,
|
|
OVPN_A_PEER_VPN_TX_BYTES,
|
|
OVPN_A_PEER_VPN_RX_PACKETS,
|
|
OVPN_A_PEER_VPN_TX_PACKETS,
|
|
OVPN_A_PEER_LINK_RX_BYTES,
|
|
OVPN_A_PEER_LINK_TX_BYTES,
|
|
OVPN_A_PEER_LINK_RX_PACKETS,
|
|
OVPN_A_PEER_LINK_TX_PACKETS,
|
|
|
|
__OVPN_A_PEER_MAX,
|
|
OVPN_A_PEER_MAX = (__OVPN_A_PEER_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
OVPN_A_KEYCONF_PEER_ID = 1,
|
|
OVPN_A_KEYCONF_SLOT,
|
|
OVPN_A_KEYCONF_KEY_ID,
|
|
OVPN_A_KEYCONF_CIPHER_ALG,
|
|
OVPN_A_KEYCONF_ENCRYPT_DIR,
|
|
OVPN_A_KEYCONF_DECRYPT_DIR,
|
|
|
|
__OVPN_A_KEYCONF_MAX,
|
|
OVPN_A_KEYCONF_MAX = (__OVPN_A_KEYCONF_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
OVPN_A_KEYDIR_CIPHER_KEY = 1,
|
|
OVPN_A_KEYDIR_NONCE_TAIL,
|
|
|
|
__OVPN_A_KEYDIR_MAX,
|
|
OVPN_A_KEYDIR_MAX = (__OVPN_A_KEYDIR_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
OVPN_A_IFINDEX = 1,
|
|
OVPN_A_PEER,
|
|
OVPN_A_KEYCONF,
|
|
|
|
__OVPN_A_MAX,
|
|
OVPN_A_MAX = (__OVPN_A_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
OVPN_CMD_PEER_NEW = 1,
|
|
OVPN_CMD_PEER_SET,
|
|
OVPN_CMD_PEER_GET,
|
|
OVPN_CMD_PEER_DEL,
|
|
OVPN_CMD_PEER_DEL_NTF,
|
|
OVPN_CMD_KEY_NEW,
|
|
OVPN_CMD_KEY_GET,
|
|
OVPN_CMD_KEY_SWAP,
|
|
OVPN_CMD_KEY_SWAP_NTF,
|
|
OVPN_CMD_KEY_DEL,
|
|
|
|
__OVPN_CMD_MAX,
|
|
OVPN_CMD_MAX = (__OVPN_CMD_MAX - 1)
|
|
};
|
|
|
|
#define OVPN_MCGRP_PEERS "peers"
|
|
|
|
#endif /* _UAPI_LINUX_OVPN_H */
|