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