OpenVPN
dco.h File Reference
#include "buffer.h"
#include "error.h"
#include "dco_internal.h"
#include "networking.h"
Include dependency graph for dco.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DCO_IROUTE_METRIC   100
#define DCO_DEFAULT_METRIC   200

Typedefs

typedef void * dco_context_t

Functions

static bool dco_available (msglvl_t msglevel)
static const char * dco_version_string (struct gc_arena *gc)
static bool dco_check_option (msglvl_t msglevel, const struct options *o)
static bool dco_check_startup_option (msglvl_t msglevel, const struct options *o)
static bool dco_check_pull_options (msglvl_t msglevel, const struct options *o)
static bool ovpn_dco_init (struct context *c)
static int open_tun_dco (struct tuntap *tt, openvpn_net_ctx_t *ctx, const char *dev)
static void close_tun_dco (struct tuntap *tt, openvpn_net_ctx_t *ctx)
static int dco_read_and_process (dco_context_t *dco)
static void dco_event_set (dco_context_t *dco, struct event_set *es, void *arg)
static int init_key_dco_bi (struct tls_multi *multi, struct key_state *ks, const struct key2 *key2, int key_direction, const char *ciphername, bool server)
static bool dco_update_keys (dco_context_t *dco, struct tls_multi *multi)
static int dco_p2p_add_new_peer (struct context *c)
static int dco_set_peer (dco_context_t *dco, unsigned int peerid, int keepalive_interval, int keepalive_timeout, int mss)
static void dco_remove_peer (struct context *c)
static int dco_multi_add_new_peer (struct multi_context *m, struct multi_instance *mi)
static void dco_install_iroute (struct multi_context *m, struct multi_instance *mi, struct mroute_addr *addr)
static void dco_delete_iroutes (openvpn_net_ctx_t *net_ctx, const struct context *c)
static int dco_get_peer_stats_multi (dco_context_t *dco, const bool raise_sigusr1_on_err)
static int dco_get_peer_stats (struct context *c, const bool raise_sigusr1_on_err)
static const char * dco_get_supported_ciphers (void)
static bool dco_supports_epoch_data (struct context *c)

Macro Definition Documentation

◆ DCO_DEFAULT_METRIC

#define DCO_DEFAULT_METRIC   200

Definition at line 47 of file dco.h.

Referenced by do_init_route_ipv6_list(), and do_init_route_list().

◆ DCO_IROUTE_METRIC

#define DCO_IROUTE_METRIC   100

Definition at line 46 of file dco.h.

Typedef Documentation

◆ dco_context_t

typedef void* dco_context_t

Definition at line 259 of file dco.h.

Function Documentation

◆ close_tun_dco()

void close_tun_dco ( struct tuntap * tt,
openvpn_net_ctx_t * ctx )
inlinestatic

Definition at line 304 of file dco.h.

◆ dco_available()

bool dco_available ( msglvl_t msglevel)
inlinestatic

Definition at line 262 of file dco.h.

◆ dco_check_option()

bool dco_check_option ( msglvl_t msglevel,
const struct options * o )
inlinestatic

Definition at line 274 of file dco.h.

Referenced by multi_connection_established(), and options_postprocess_mutate().

◆ dco_check_pull_options()

bool dco_check_pull_options ( msglvl_t msglevel,
const struct options * o )
inlinestatic

Definition at line 286 of file dco.h.

Referenced by do_deferred_options().

◆ dco_check_startup_option()

bool dco_check_startup_option ( msglvl_t msglevel,
const struct options * o )
inlinestatic

Definition at line 280 of file dco.h.

Referenced by options_postprocess_mutate().

◆ dco_delete_iroutes()

void dco_delete_iroutes ( openvpn_net_ctx_t * net_ctx,
const struct context * c )
inlinestatic

Definition at line 364 of file dco.h.

Referenced by multi_del_iroutes(), and schedule_exit().

◆ dco_event_set()

void dco_event_set ( dco_context_t * dco,
struct event_set * es,
void * arg )
inlinestatic

Definition at line 316 of file dco.h.

Referenced by io_wait(), and multi_io_wait().

◆ dco_get_peer_stats()

int dco_get_peer_stats ( struct context * c,
const bool raise_sigusr1_on_err )
inlinestatic

◆ dco_get_peer_stats_multi()

int dco_get_peer_stats_multi ( dco_context_t * dco,
const bool raise_sigusr1_on_err )
inlinestatic

Definition at line 369 of file dco.h.

Referenced by management_check_bytecount_server(), multi_print_status(), and multi_uninit().

◆ dco_get_supported_ciphers()

const char * dco_get_supported_ciphers ( void )
inlinestatic

Definition at line 381 of file dco.h.

Referenced by options_postprocess_setdefault_ncpciphers().

◆ dco_install_iroute()

void dco_install_iroute ( struct multi_context * m,
struct multi_instance * mi,
struct mroute_addr * addr )
inlinestatic

Definition at line 359 of file dco.h.

Referenced by multi_learn_in6_addr(), and multi_learn_in_addr_t().

◆ dco_multi_add_new_peer()

int dco_multi_add_new_peer ( struct multi_context * m,
struct multi_instance * mi )
inlinestatic

Definition at line 353 of file dco.h.

Referenced by multi_client_setup_dco_initial().

◆ dco_p2p_add_new_peer()

int dco_p2p_add_new_peer ( struct context * c)
inlinestatic

Definition at line 335 of file dco.h.

Referenced by do_up().

◆ dco_read_and_process()

int dco_read_and_process ( dco_context_t * dco)
inlinestatic

Definition at line 309 of file dco.h.

References ASSERT.

Referenced by multi_io_process_io(), and process_io().

◆ dco_remove_peer()

void dco_remove_peer ( struct context * c)
inlinestatic

Definition at line 348 of file dco.h.

Referenced by close_instance().

◆ dco_set_peer()

int dco_set_peer ( dco_context_t * dco,
unsigned int peerid,
int keepalive_interval,
int keepalive_timeout,
int mss )
inlinestatic

Definition at line 341 of file dco.h.

Referenced by tls_session_update_crypto_params_do_work().

◆ dco_supports_epoch_data()

bool dco_supports_epoch_data ( struct context * c)
inlinestatic

Definition at line 387 of file dco.h.

Referenced by do_init_crypto_tls().

◆ dco_update_keys()

bool dco_update_keys ( dco_context_t * dco,
struct tls_multi * multi )
inlinestatic

Definition at line 328 of file dco.h.

References ASSERT.

Referenced by check_dco_key_status().

◆ dco_version_string()

const char * dco_version_string ( struct gc_arena * gc)
inlinestatic

Definition at line 268 of file dco.h.

References gc.

Referenced by show_dco_version().

◆ init_key_dco_bi()

int init_key_dco_bi ( struct tls_multi * multi,
struct key_state * ks,
const struct key2 * key2,
int key_direction,
const char * ciphername,
bool server )
inlinestatic

Definition at line 321 of file dco.h.

Referenced by init_key_contexts().

◆ open_tun_dco()

int open_tun_dco ( struct tuntap * tt,
openvpn_net_ctx_t * ctx,
const char * dev )
inlinestatic

Definition at line 298 of file dco.h.

◆ ovpn_dco_init()

bool ovpn_dco_init ( struct context * c)
inlinestatic

Definition at line 292 of file dco.h.

Referenced by do_open_tun().