FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ipsec.c File Reference
+ Include dependency graph for ipsec.c:

Go to the source code of this file.

Functions

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)
 
void ipsec_unregister_udp_port (u16 port)
 
void ipsec_register_udp_port (u16 port)
 
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_encrypt_node_tun_name, const char *esp4_decrypt_node_name, const char *esp4_decrypt_tun_node_name, const char *esp6_encrypt_node_name, const char *esp6_encrypt_node_tun_name, const char *esp6_decrypt_node_name, const char *esp6_decrypt_tun_node_name, const char *esp_mpls_encrypt_node_tun_name, check_support_cb_t esp_check_support_cb, add_del_sa_sess_cb_t esp_add_del_sa_sess_cb, enable_disable_cb_t enable_disable_cb)
 
clib_error_tipsec_rsc_in_use (ipsec_main_t *im)
 
int ipsec_select_ah_backend (ipsec_main_t *im, u32 backend_idx)
 
int ipsec_select_esp_backend (ipsec_main_t *im, u32 backend_idx)
 
void ipsec_set_async_mode (u32 is_enabled)
 
static void crypto_engine_backend_register_post_node (vlib_main_t *vm)
 
static clib_error_tipsec_init (vlib_main_t *vm)
 

Variables

ipsec_main_t ipsec_main
 
esp_async_post_next_t esp_encrypt_async_next
 
esp_async_post_next_t esp_decrypt_async_next
 

Function Documentation

◆ crypto_engine_backend_register_post_node()

static void crypto_engine_backend_register_post_node ( vlib_main_t vm)
static

Definition at line 345 of file ipsec.c.

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

◆ ipsec_add_del_sa_sess_cb()

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

Definition at line 69 of file ipsec.c.

◆ ipsec_add_node()

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 114 of file ipsec.c.

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

◆ ipsec_check_ah_support()

static clib_error_t* ipsec_check_ah_support ( ipsec_sa_t sa)
static

Definition at line 33 of file ipsec.c.

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

◆ ipsec_check_esp_support()

static clib_error_t* ipsec_check_esp_support ( ipsec_sa_t sa)
static

Definition at line 48 of file ipsec.c.

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

◆ ipsec_check_support_cb()

clib_error_t* ipsec_check_support_cb ( ipsec_main_t im,
ipsec_sa_t sa 
)

Definition at line 91 of file ipsec.c.

+ Here is the caller graph for this function:

◆ ipsec_init()

static clib_error_t* ipsec_init ( vlib_main_t vm)
static

Definition at line 374 of file ipsec.c.

+ Here is the call graph for this function:

◆ ipsec_register_ah_backend()

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 172 of file ipsec.c.

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

◆ ipsec_register_esp_backend()

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_encrypt_node_tun_name,
const char *  esp4_decrypt_node_name,
const char *  esp4_decrypt_tun_node_name,
const char *  esp6_encrypt_node_name,
const char *  esp6_encrypt_node_tun_name,
const char *  esp6_decrypt_node_name,
const char *  esp6_decrypt_tun_node_name,
const char *  esp_mpls_encrypt_node_tun_name,
check_support_cb_t  esp_check_support_cb,
add_del_sa_sess_cb_t  esp_add_del_sa_sess_cb,
enable_disable_cb_t  enable_disable_cb 
)

Definition at line 200 of file ipsec.c.

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

◆ ipsec_register_udp_port()

void ipsec_register_udp_port ( u16  port)

Definition at line 153 of file ipsec.c.

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

◆ ipsec_rsc_in_use()

clib_error_t* ipsec_rsc_in_use ( ipsec_main_t im)

Definition at line 246 of file ipsec.c.

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

◆ ipsec_select_ah_backend()

int ipsec_select_ah_backend ( ipsec_main_t im,
u32  backend_idx 
)

Definition at line 257 of file ipsec.c.

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

◆ ipsec_select_esp_backend()

int ipsec_select_esp_backend ( ipsec_main_t im,
u32  backend_idx 
)

Definition at line 280 of file ipsec.c.

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

◆ ipsec_set_async_mode()

void ipsec_set_async_mode ( u32  is_enabled)

Definition at line 327 of file ipsec.c.

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

◆ ipsec_unregister_udp_port()

void ipsec_unregister_udp_port ( u16  port)

Definition at line 128 of file ipsec.c.

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

Variable Documentation

◆ esp_decrypt_async_next

esp_async_post_next_t esp_decrypt_async_next

Definition at line 30 of file ipsec.c.

◆ esp_encrypt_async_next

esp_async_post_next_t esp_encrypt_async_next

Definition at line 29 of file ipsec.c.

◆ ipsec_main

ipsec_main_t ipsec_main

Definition at line 28 of file ipsec.c.