OpenVPN
Macros | Typedefs | Functions
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 (int msglevel)
 
static const char * dco_version_string (struct gc_arena *gc)
 
static bool dco_check_option (int msglevel, const struct options *o)
 
static bool dco_check_startup_option (int msglevel, const struct options *o)
 
static bool dco_check_pull_options (int msglevel, const struct options *o)
 
static bool ovpn_dco_init (int mode, dco_context_t *dco)
 
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_do_read (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 (struct multi_context *m, struct multi_instance *mi)
 
static int dco_get_peer_stats_multi (dco_context_t *dco, struct multi_context *m)
 
static int dco_get_peer_stats (struct context *c)
 
static const char * dco_get_supported_ciphers (void)
 

Macro Definition Documentation

◆ DCO_DEFAULT_METRIC

#define DCO_DEFAULT_METRIC   200

Definition at line 48 of file dco.h.

◆ DCO_IROUTE_METRIC

#define DCO_IROUTE_METRIC   100

Definition at line 47 of file dco.h.

Typedef Documentation

◆ dco_context_t

typedef void* dco_context_t

Definition at line 254 of file dco.h.

Function Documentation

◆ close_tun_dco()

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

Definition at line 299 of file dco.h.

◆ dco_available()

static bool dco_available ( int  msglevel)
inlinestatic

Definition at line 257 of file dco.h.

◆ dco_check_option()

static bool dco_check_option ( int  msglevel,
const struct options o 
)
inlinestatic

Definition at line 269 of file dco.h.

Referenced by multi_connection_established(), and options_postprocess_mutate().

◆ dco_check_pull_options()

static bool dco_check_pull_options ( int  msglevel,
const struct options o 
)
inlinestatic

Definition at line 281 of file dco.h.

Referenced by do_deferred_options().

◆ dco_check_startup_option()

static bool dco_check_startup_option ( int  msglevel,
const struct options o 
)
inlinestatic

Definition at line 275 of file dco.h.

Referenced by options_postprocess_mutate().

◆ dco_delete_iroutes()

static void dco_delete_iroutes ( struct multi_context m,
struct multi_instance mi 
)
inlinestatic

Definition at line 361 of file dco.h.

Referenced by multi_del_iroutes().

◆ dco_do_read()

static int dco_do_read ( dco_context_t dco)
inlinestatic

Definition at line 304 of file dco.h.

References ASSERT.

◆ dco_event_set()

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

Definition at line 311 of file dco.h.

◆ dco_get_peer_stats()

static int dco_get_peer_stats ( struct context c)
inlinestatic

Definition at line 372 of file dco.h.

◆ dco_get_peer_stats_multi()

static int dco_get_peer_stats_multi ( dco_context_t dco,
struct multi_context m 
)
inlinestatic

Definition at line 366 of file dco.h.

◆ dco_get_supported_ciphers()

static const char* dco_get_supported_ciphers ( void  )
inlinestatic

Definition at line 378 of file dco.h.

◆ dco_install_iroute()

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

Definition at line 355 of file dco.h.

Referenced by multi_learn_in6_addr(), and multi_learn_in_addr_t().

◆ dco_multi_add_new_peer()

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

Definition at line 349 of file dco.h.

Referenced by multi_client_setup_dco_initial().

◆ dco_p2p_add_new_peer()

static int dco_p2p_add_new_peer ( struct context c)
inlinestatic

Definition at line 331 of file dco.h.

Referenced by do_up().

◆ dco_remove_peer()

static void dco_remove_peer ( struct context c)
inlinestatic

Definition at line 344 of file dco.h.

Referenced by close_instance().

◆ dco_set_peer()

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

Definition at line 337 of file dco.h.

◆ dco_update_keys()

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

Definition at line 324 of file dco.h.

References ASSERT.

Referenced by check_dco_key_status().

◆ dco_version_string()

static const char* dco_version_string ( struct gc_arena gc)
inlinestatic

Definition at line 263 of file dco.h.

◆ init_key_dco_bi()

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 
)
inlinestatic

Definition at line 316 of file dco.h.

Referenced by init_key_contexts().

◆ open_tun_dco()

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

Definition at line 293 of file dco.h.

◆ ovpn_dco_init()

static bool ovpn_dco_init ( int  mode,
dco_context_t dco 
)
inlinestatic

Definition at line 287 of file dco.h.