OpenVPN
src
openvpn
dco_freebsd.h
Go to the documentation of this file.
1
/*
2
* Interface to FreeBSD dco networking code
3
*
4
* Copyright (C) 2022 Rubicon Communications, LLC (Netgate). All Rights Reserved.
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2
8
* as published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program (see the file COPYING included with this
17
* distribution); if not, write to the Free Software Foundation, Inc.,
18
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*/
20
#ifndef DCO_FREEBSD_H
21
#define DCO_FREEBSD_H
22
23
#if defined(ENABLE_DCO) && defined(TARGET_FREEBSD)
24
25
#include "
buffer.h
"
26
#include "
event.h
"
27
28
#include "
ovpn_dco_freebsd.h
"
29
30
#define DCO_IROUTE_METRIC 100
31
32
typedef
enum
ovpn_key_slot
dco_key_slot_t;
33
typedef
enum
ovpn_key_cipher
dco_cipher_t;
34
35
enum
ovpn_message_type_t {
36
OVPN_CMD_DEL_PEER
,
37
OVPN_CMD_PACKET,
38
OVPN_CMD_SWAP_KEYS
,
39
};
40
41
enum
ovpn_del_reason_t {
42
OVPN_DEL_PEER_REASON_EXPIRED
,
43
OVPN_DEL_PEER_REASON_TRANSPORT_ERROR
,
44
OVPN_DEL_PEER_REASON_USERSPACE
,
45
OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT
,
46
};
47
48
typedef
struct
dco_context {
49
bool
open;
50
int
fd;
51
int
pipefd[2];
52
53
char
ifname[IFNAMSIZ];
54
55
int
dco_message_type;
56
int
dco_message_peer_id;
57
int
dco_del_peer_reason;
58
uint64_t dco_read_bytes;
59
uint64_t dco_write_bytes;
60
}
dco_context_t
;
61
62
#endif
/* defined(ENABLE_DCO) && defined(TARGET_FREEBSD) */
63
#endif
/* ifndef DCO_FREEBSD_H */
OVPN_CMD_DEL_PEER
@ OVPN_CMD_DEL_PEER
@OVPN_CMD_DEL_PEER: Remove peer from internal table
Definition:
ovpn_dco_linux.h:40
OVPN_DEL_PEER_REASON_TRANSPORT_ERROR
@ OVPN_DEL_PEER_REASON_TRANSPORT_ERROR
Definition:
ovpn_dco_linux.h:74
ovpn_key_slot
ovpn_key_slot
Definition:
ovpn_dco_freebsd.h:47
dco_context_t
void * dco_context_t
Definition:
dco.h:254
ovpn_dco_freebsd.h
OVPN_DEL_PEER_REASON_USERSPACE
@ OVPN_DEL_PEER_REASON_USERSPACE
Definition:
ovpn_dco_linux.h:72
event.h
OVPN_DEL_PEER_REASON_EXPIRED
@ OVPN_DEL_PEER_REASON_EXPIRED
Definition:
ovpn_dco_linux.h:73
buffer.h
ovpn_key_cipher
ovpn_key_cipher
Definition:
ovpn_dco_freebsd.h:52
OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT
@ OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT
Definition:
ovpn_dco_linux.h:75
OVPN_CMD_SWAP_KEYS
@ OVPN_CMD_SWAP_KEYS
Definition:
ovpn_dco_linux.h:44
Generated by
1.8.17