FD.io VPP  v19.01.2-3-gf61a1a8
Vector Packet Processing
ipsec.c File Reference
+ Include dependency graph for ipsec.c:

Go to the source code of this file.

Functions

u32 ipsec_get_sa_index_by_sa_id (u32 sa_id)
 
int ipsec_set_interface_spd (vlib_main_t *vm, u32 sw_if_index, u32 spd_id, int is_add)
 
int ipsec_add_del_spd (vlib_main_t *vm, u32 spd_id, int is_add)
 
static int ipsec_spd_entry_sort (void *a1, void *a2)
 
int ipsec_add_del_policy (vlib_main_t *vm, ipsec_policy_t *policy, int is_add)
 
u8 ipsec_is_sa_used (u32 sa_index)
 
clib_error_tipsec_call_add_del_callbacks (ipsec_main_t *im, ipsec_sa_t *sa, u32 sa_index, int is_add)
 
int ipsec_add_del_sa (vlib_main_t *vm, ipsec_sa_t *new_sa, int is_add)
 
int ipsec_set_sa_key (vlib_main_t *vm, ipsec_sa_t *sa_update)
 
static void ipsec_rand_seed (void)
 
static clib_error_tipsec_check_ah_support (ipsec_sa_t *sa)
 
static clib_error_tipsec_check_esp_support (ipsec_sa_t *sa)
 
clib_error_tipsec_add_del_sa_sess_cb (ipsec_main_t *im, u32 sa_index, u8 is_add)
 
clib_error_tipsec_check_support_cb (ipsec_main_t *im, ipsec_sa_t *sa)
 
static void ipsec_add_node (vlib_main_t *vm, const char *node_name, const char *prev_node_name, u32 *out_node_index, u32 *out_next_index)
 
u32 ipsec_register_ah_backend (vlib_main_t *vm, ipsec_main_t *im, const char *name, const char *ah4_encrypt_node_name, const char *ah4_decrypt_node_name, const char *ah6_encrypt_node_name, const char *ah6_decrypt_node_name, check_support_cb_t ah_check_support_cb, add_del_sa_sess_cb_t ah_add_del_sa_sess_cb)
 
u32 ipsec_register_esp_backend (vlib_main_t *vm, ipsec_main_t *im, const char *name, const char *esp4_encrypt_node_name, const char *esp4_decrypt_node_name, const char *esp6_encrypt_node_name, const char *esp6_decrypt_node_name, check_support_cb_t esp_check_support_cb, add_del_sa_sess_cb_t esp_add_del_sa_sess_cb)
 
int ipsec_select_ah_backend (ipsec_main_t *im, u32 backend_idx)
 
int ipsec_select_esp_backend (ipsec_main_t *im, u32 backend_idx)
 
static clib_error_tipsec_init (vlib_main_t *vm)
 

Variables

ipsec_main_t ipsec_main
 

Function Documentation

int ipsec_add_del_policy ( vlib_main_t vm,
ipsec_policy_t policy,
int  is_add 
)

Definition at line 154 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ipsec_add_del_sa ( vlib_main_t vm,
ipsec_sa_t new_sa,
int  is_add 
)

Definition at line 432 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ipsec_add_del_sa_sess_cb ( ipsec_main_t im,
u32  sa_index,
u8  is_add 
)

Definition at line 557 of file ipsec.c.

+ Here is the caller graph for this function:

int ipsec_add_del_spd ( vlib_main_t vm,
u32  spd_id,
int  is_add 
)

Definition at line 93 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ipsec_add_node ( vlib_main_t vm,
const char *  node_name,
const char *  prev_node_name,
u32 out_node_index,
u32 out_next_index 
)
static

Definition at line 602 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ipsec_call_add_del_callbacks ( ipsec_main_t im,
ipsec_sa_t sa,
u32  sa_index,
int  is_add 
)

Definition at line 410 of file ipsec.c.

+ Here is the caller graph for this function:

static clib_error_t* ipsec_check_ah_support ( ipsec_sa_t sa)
static

Definition at line 536 of file ipsec.c.

+ Here is the caller graph for this function:

static clib_error_t* ipsec_check_esp_support ( ipsec_sa_t sa)
static

Definition at line 544 of file ipsec.c.

+ Here is the caller graph for this function:

clib_error_t* ipsec_check_support_cb ( ipsec_main_t im,
ipsec_sa_t sa 
)

Definition at line 579 of file ipsec.c.

+ Here is the caller graph for this function:

u32 ipsec_get_sa_index_by_sa_id ( u32  sa_id)

Definition at line 33 of file ipsec.c.

+ Here is the caller graph for this function:

static clib_error_t* ipsec_init ( vlib_main_t vm)
static

Definition at line 714 of file ipsec.c.

+ Here is the call graph for this function:

u8 ipsec_is_sa_used ( u32  sa_index)

Definition at line 380 of file ipsec.c.

+ Here is the caller graph for this function:

static void ipsec_rand_seed ( void  )
static

Definition at line 519 of file ipsec.c.

+ Here is the caller graph for this function:

u32 ipsec_register_ah_backend ( vlib_main_t vm,
ipsec_main_t im,
const char *  name,
const char *  ah4_encrypt_node_name,
const char *  ah4_decrypt_node_name,
const char *  ah6_encrypt_node_name,
const char *  ah6_decrypt_node_name,
check_support_cb_t  ah_check_support_cb,
add_del_sa_sess_cb_t  ah_add_del_sa_sess_cb 
)

Definition at line 616 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 ipsec_register_esp_backend ( vlib_main_t vm,
ipsec_main_t im,
const char *  name,
const char *  esp4_encrypt_node_name,
const char *  esp4_decrypt_node_name,
const char *  esp6_encrypt_node_name,
const char *  esp6_decrypt_node_name,
check_support_cb_t  esp_check_support_cb,
add_del_sa_sess_cb_t  esp_add_del_sa_sess_cb 
)

Definition at line 644 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ipsec_select_ah_backend ( ipsec_main_t im,
u32  backend_idx 
)

Definition at line 672 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ipsec_select_esp_backend ( ipsec_main_t im,
u32  backend_idx 
)

Definition at line 693 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ipsec_set_interface_spd ( vlib_main_t vm,
u32  sw_if_index,
u32  spd_id,
int  is_add 
)

Definition at line 44 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ipsec_set_sa_key ( vlib_main_t vm,
ipsec_sa_t sa_update 
)

Definition at line 477 of file ipsec.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int ipsec_spd_entry_sort ( void *  a1,
void *  a2 
)
static

Definition at line 138 of file ipsec.c.

+ Here is the caller graph for this function:

Variable Documentation

ipsec_main_t ipsec_main

Definition at line 30 of file ipsec.c.