FD.io VPP  v19.08.3-2-gbabecb413
Vector Packet Processing
ipsec_tun.h File Reference
+ Include dependency graph for ipsec_tun.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ipsec_ep_t_
 
struct  ipsec_tun_protect_t_
 
struct  ipsec_tun_lkup_result_t_
 

Macros

#define FOR_EACH_IPSEC_PROTECT_INPUT_SAI(_itp, _sai, body)
 
#define FOR_EACH_IPSEC_PROTECT_INPUT_SA(_itp, _sa, body)
 

Typedefs

typedef enum ipsec_protect_flags_t_ ipsec_protect_flags_t
 
typedef struct ipsec_ep_t_ ipsec_ep_t
 
typedef struct ipsec_tun_protect_t_ ipsec_tun_protect_t
 
typedef walk_rc_t(* ipsec_tun_protect_walk_cb_t) (index_t itpi, void *arg)
 
typedef struct ipsec_tun_lkup_result_t_ ipsec_tun_lkup_result_t
 

Enumerations

enum  ipsec_protect_flags_t_ { IPSEC_PROTECT_L2 = (1 << 0), IPSEC_PROTECT_ENCAPED = (1 << 1) }
 

Functions

int ipsec_tun_protect_update (u32 sw_if_index, u32 sa_out, u32 sa_ins[2])
 
int ipsec_tun_protect_del (u32 sw_if_index)
 
void ipsec_tun_protect_walk (ipsec_tun_protect_walk_cb_t fn, void *cttx)
 
index_t ipsec_tun_protect_find (u32 sw_if_index)
 
u8format_ipsec_tun_protect (u8 *s, va_list *args)
 
static ipsec_tun_protect_tipsec_tun_protect_get (u32 index)
 

Variables

vlib_node_registration_t ipsec4_tun_input_node
 (constructor) VLIB_REGISTER_NODE (ipsec4_tun_input_node) More...
 
vlib_node_registration_t ipsec6_tun_input_node
 (constructor) VLIB_REGISTER_NODE (ipsec6_tun_input_node) More...
 
ipsec_tun_protect_tipsec_protect_pool
 Pool of tunnel protection objects. More...
 

Macro Definition Documentation

◆ FOR_EACH_IPSEC_PROTECT_INPUT_SA

#define FOR_EACH_IPSEC_PROTECT_INPUT_SA (   _itp,
  _sa,
  body 
)
Value:
{ \
u32 __ii; \
for (__ii = 0; __ii < _itp->itp_n_sa_in; __ii++) { \
_sa = ipsec_sa_get(itp->itp_in_sas[__ii]); \
body; \
} \
}
static ipsec_sa_t * ipsec_sa_get(u32 sa_index)
Definition: ipsec.h:244

Definition at line 60 of file ipsec_tun.h.

◆ FOR_EACH_IPSEC_PROTECT_INPUT_SAI

#define FOR_EACH_IPSEC_PROTECT_INPUT_SAI (   _itp,
  _sai,
  body 
)
Value:
{ \
u32 __ii; \
for (__ii = 0; __ii < _itp->itp_n_sa_in; __ii++) { \
_sai = itp->itp_in_sas[__ii]; \
body; \
} \
}

Definition at line 52 of file ipsec_tun.h.

Typedef Documentation

◆ ipsec_ep_t

typedef struct ipsec_ep_t_ ipsec_ep_t

◆ ipsec_protect_flags_t

◆ ipsec_tun_lkup_result_t

◆ ipsec_tun_protect_t

◆ ipsec_tun_protect_walk_cb_t

typedef walk_rc_t(* ipsec_tun_protect_walk_cb_t) (index_t itpi, void *arg)

Definition at line 73 of file ipsec_tun.h.

Enumeration Type Documentation

◆ ipsec_protect_flags_t_

Enumerator
IPSEC_PROTECT_L2 
IPSEC_PROTECT_ENCAPED 

Definition at line 20 of file ipsec_tun.h.

Function Documentation

◆ format_ipsec_tun_protect()

u8* format_ipsec_tun_protect ( u8 s,
va_list *  args 
)

Definition at line 372 of file ipsec_format.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ipsec_tun_protect_del()

int ipsec_tun_protect_del ( u32  sw_if_index)

Definition at line 339 of file ipsec_tun.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ipsec_tun_protect_find()

index_t ipsec_tun_protect_find ( u32  sw_if_index)

Definition at line 215 of file ipsec_tun.c.

+ Here is the caller graph for this function:

◆ ipsec_tun_protect_get()

static ipsec_tun_protect_t* ipsec_tun_protect_get ( u32  index)
inlinestatic

Definition at line 103 of file ipsec_tun.h.

+ Here is the caller graph for this function:

◆ ipsec_tun_protect_update()

int ipsec_tun_protect_update ( u32  sw_if_index,
u32  sa_out,
u32  sa_ins[2] 
)

◆ ipsec_tun_protect_walk()

void ipsec_tun_protect_walk ( ipsec_tun_protect_walk_cb_t  fn,
void *  cttx 
)

Definition at line 370 of file ipsec_tun.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ ipsec4_tun_input_node

vlib_node_registration_t ipsec4_tun_input_node

(constructor) VLIB_REGISTER_NODE (ipsec4_tun_input_node)

Definition at line 417 of file ipsec_tun_in.c.

◆ ipsec6_tun_input_node

vlib_node_registration_t ipsec6_tun_input_node

(constructor) VLIB_REGISTER_NODE (ipsec6_tun_input_node)

Definition at line 442 of file ipsec_tun_in.c.

◆ ipsec_protect_pool

ipsec_tun_protect_t* ipsec_protect_pool

Pool of tunnel protection objects.

Definition at line 25 of file ipsec_tun.c.