11#ifndef _UAPI_LINUX_OVPN_DCO_H_
12#define _UAPI_LINUX_OVPN_DCO_H_
14#define OVPN_NL_NAME "ovpn-dco-v2"
16#define OVPN_NL_MULTICAST_GROUP_PEERS "peers"
23enum ovpn_nl_commands {
71enum ovpn_del_peer_reason {
72 __OVPN_DEL_PEER_REASON_FIRST,
73 OVPN_DEL_PEER_REASON_TEARDOWN = __OVPN_DEL_PEER_REASON_FIRST,
74 OVPN_DEL_PEER_REASON_USERSPACE,
75 OVPN_DEL_PEER_REASON_EXPIRED,
76 OVPN_DEL_PEER_REASON_TRANSPORT_ERROR,
77 OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT,
78 __OVPN_DEL_PEER_REASON_AFTER_LAST
82 __OVPN_KEY_SLOT_FIRST,
85 __OVPN_KEY_SLOT_AFTER_LAST,
88enum ovpn_netlink_attrs {
99 __OVPN_ATTR_AFTER_LAST,
100 OVPN_ATTR_MAX = __OVPN_ATTR_AFTER_LAST - 1,
103enum ovpn_netlink_key_dir_attrs {
104 OVPN_KEY_DIR_ATTR_UNSPEC = 0,
105 OVPN_KEY_DIR_ATTR_CIPHER_KEY,
106 OVPN_KEY_DIR_ATTR_NONCE_TAIL,
108 __OVPN_KEY_DIR_ATTR_AFTER_LAST,
109 OVPN_KEY_DIR_ATTR_MAX = __OVPN_KEY_DIR_ATTR_AFTER_LAST - 1,
112enum ovpn_netlink_new_key_attrs {
113 OVPN_NEW_KEY_ATTR_UNSPEC = 0,
114 OVPN_NEW_KEY_ATTR_PEER_ID,
115 OVPN_NEW_KEY_ATTR_KEY_SLOT,
116 OVPN_NEW_KEY_ATTR_KEY_ID,
117 OVPN_NEW_KEY_ATTR_CIPHER_ALG,
118 OVPN_NEW_KEY_ATTR_ENCRYPT_KEY,
119 OVPN_NEW_KEY_ATTR_DECRYPT_KEY,
121 __OVPN_NEW_KEY_ATTR_AFTER_LAST,
122 OVPN_NEW_KEY_ATTR_MAX = __OVPN_NEW_KEY_ATTR_AFTER_LAST - 1,
125enum ovpn_netlink_del_key_attrs {
126 OVPN_DEL_KEY_ATTR_UNSPEC = 0,
127 OVPN_DEL_KEY_ATTR_PEER_ID,
128 OVPN_DEL_KEY_ATTR_KEY_SLOT,
130 __OVPN_DEL_KEY_ATTR_AFTER_LAST,
131 OVPN_DEL_KEY_ATTR_MAX = __OVPN_DEL_KEY_ATTR_AFTER_LAST - 1,
134enum ovpn_netlink_swap_keys_attrs {
135 OVPN_SWAP_KEYS_ATTR_UNSPEC = 0,
136 OVPN_SWAP_KEYS_ATTR_PEER_ID,
138 __OVPN_SWAP_KEYS_ATTR_AFTER_LAST,
139 OVPN_SWAP_KEYS_ATTR_MAX = __OVPN_SWAP_KEYS_ATTR_AFTER_LAST - 1,
143enum ovpn_netlink_new_peer_attrs {
144 OVPN_NEW_PEER_ATTR_UNSPEC = 0,
145 OVPN_NEW_PEER_ATTR_PEER_ID,
146 OVPN_NEW_PEER_ATTR_SOCKADDR_REMOTE,
147 OVPN_NEW_PEER_ATTR_SOCKET,
148 OVPN_NEW_PEER_ATTR_IPV4,
149 OVPN_NEW_PEER_ATTR_IPV6,
150 OVPN_NEW_PEER_ATTR_LOCAL_IP,
152 __OVPN_NEW_PEER_ATTR_AFTER_LAST,
153 OVPN_NEW_PEER_ATTR_MAX = __OVPN_NEW_PEER_ATTR_AFTER_LAST - 1,
156enum ovpn_netlink_set_peer_attrs {
157 OVPN_SET_PEER_ATTR_UNSPEC = 0,
158 OVPN_SET_PEER_ATTR_PEER_ID,
159 OVPN_SET_PEER_ATTR_KEEPALIVE_INTERVAL,
160 OVPN_SET_PEER_ATTR_KEEPALIVE_TIMEOUT,
162 __OVPN_SET_PEER_ATTR_AFTER_LAST,
163 OVPN_SET_PEER_ATTR_MAX = __OVPN_SET_PEER_ATTR_AFTER_LAST - 1,
166enum ovpn_netlink_del_peer_attrs {
167 OVPN_DEL_PEER_ATTR_UNSPEC = 0,
168 OVPN_DEL_PEER_ATTR_REASON,
169 OVPN_DEL_PEER_ATTR_PEER_ID,
171 __OVPN_DEL_PEER_ATTR_AFTER_LAST,
172 OVPN_DEL_PEER_ATTR_MAX = __OVPN_DEL_PEER_ATTR_AFTER_LAST - 1,
175enum ovpn_netlink_get_peer_attrs {
176 OVPN_GET_PEER_ATTR_UNSPEC = 0,
177 OVPN_GET_PEER_ATTR_PEER_ID,
179 __OVPN_GET_PEER_ATTR_AFTER_LAST,
180 OVPN_GET_PEER_ATTR_MAX = __OVPN_GET_PEER_ATTR_AFTER_LAST - 1,
183enum ovpn_netlink_get_peer_response_attrs {
184 OVPN_GET_PEER_RESP_ATTR_UNSPEC = 0,
185 OVPN_GET_PEER_RESP_ATTR_PEER_ID,
186 OVPN_GET_PEER_RESP_ATTR_SOCKADDR_REMOTE,
187 OVPN_GET_PEER_RESP_ATTR_IPV4,
188 OVPN_GET_PEER_RESP_ATTR_IPV6,
189 OVPN_GET_PEER_RESP_ATTR_LOCAL_IP,
190 OVPN_GET_PEER_RESP_ATTR_LOCAL_PORT,
191 OVPN_GET_PEER_RESP_ATTR_KEEPALIVE_INTERVAL,
192 OVPN_GET_PEER_RESP_ATTR_KEEPALIVE_TIMEOUT,
193 OVPN_GET_PEER_RESP_ATTR_VPN_RX_BYTES,
194 OVPN_GET_PEER_RESP_ATTR_VPN_TX_BYTES,
195 OVPN_GET_PEER_RESP_ATTR_VPN_RX_PACKETS,
196 OVPN_GET_PEER_RESP_ATTR_VPN_TX_PACKETS,
197 OVPN_GET_PEER_RESP_ATTR_LINK_RX_BYTES,
198 OVPN_GET_PEER_RESP_ATTR_LINK_TX_BYTES,
199 OVPN_GET_PEER_RESP_ATTR_LINK_RX_PACKETS,
200 OVPN_GET_PEER_RESP_ATTR_LINK_TX_PACKETS,
202 __OVPN_GET_PEER_RESP_ATTR_AFTER_LAST,
203 OVPN_GET_PEER_RESP_ATTR_MAX = __OVPN_GET_PEER_RESP_ATTR_AFTER_LAST - 1,
206enum ovpn_netlink_peer_stats_attrs {
207 OVPN_PEER_STATS_ATTR_UNSPEC = 0,
208 OVPN_PEER_STATS_BYTES,
209 OVPN_PEER_STATS_PACKETS,
211 __OVPN_PEER_STATS_ATTR_AFTER_LAST,
212 OVPN_PEER_STATS_ATTR_MAX = __OVPN_PEER_STATS_ATTR_AFTER_LAST - 1,
215enum ovpn_netlink_peer_attrs {
216 OVPN_PEER_ATTR_UNSPEC = 0,
217 OVPN_PEER_ATTR_PEER_ID,
218 OVPN_PEER_ATTR_SOCKADDR_REMOTE,
221 OVPN_PEER_ATTR_LOCAL_IP,
222 OVPN_PEER_ATTR_KEEPALIVE_INTERVAL,
223 OVPN_PEER_ATTR_KEEPALIVE_TIMEOUT,
224 OVPN_PEER_ATTR_ENCRYPT_KEY,
225 OVPN_PEER_ATTR_DECRYPT_KEY,
226 OVPN_PEER_ATTR_RX_STATS,
227 OVPN_PEER_ATTR_TX_STATS,
229 __OVPN_PEER_ATTR_AFTER_LAST,
230 OVPN_PEER_ATTR_MAX = __OVPN_PEER_ATTR_AFTER_LAST - 1,
233enum ovpn_netlink_packet_attrs {
234 OVPN_PACKET_ATTR_UNSPEC = 0,
235 OVPN_PACKET_ATTR_PACKET,
236 OVPN_PACKET_ATTR_PEER_ID,
238 __OVPN_PACKET_ATTR_AFTER_LAST,
239 OVPN_PACKET_ATTR_MAX = __OVPN_PACKET_ATTR_AFTER_LAST - 1,
242enum ovpn_ifla_attrs {
243 IFLA_OVPN_UNSPEC = 0,
246 __IFLA_OVPN_AFTER_LAST,
247 IFLA_OVPN_MAX = __IFLA_OVPN_AFTER_LAST - 1,
251 __OVPN_MODE_FIRST = 0,
252 OVPN_MODE_P2P = __OVPN_MODE_FIRST,
255 __OVPN_MODE_AFTER_LAST,
@ OVPN_CIPHER_ALG_CHACHA20_POLY1305
@ OVPN_CIPHER_ALG_AES_GCM
@ OVPN_KEY_SLOT_SECONDARY