FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
ikev2.c File Reference
+ Include dependency graph for ikev2.c:

Go to the source code of this file.

Data Structures

struct  ikev2_trace_t
 
struct  ikev2_add_ipsec_tunnel_args_t
 
struct  ikev2_del_ipsec_tunnel_args_t
 

Macros

#define ikev2_set_state(sa, v)
 
#define foreach_ikev2_error
 

Enumerations

enum  ikev2_error_t { IKEV2_N_ERROR }
 
enum  ikev2_next_t { IKEV2_NEXT_IP4_LOOKUP, IKEV2_NEXT_ERROR_DROP, IKEV2_N_NEXT }
 

Functions

static int ikev2_delete_tunnel_interface (vnet_main_t *vnm, ikev2_sa_t *sa, ikev2_child_sa_t *child)
 
static u8format_ikev2_trace (u8 *s, va_list *args)
 
static ikev2_sa_transform_tikev2_find_transform_data (ikev2_sa_transform_t *t)
 
static ikev2_sa_proposal_tikev2_select_proposal (ikev2_sa_proposal_t *proposals, ikev2_protocol_id_t prot_id)
 
ikev2_sa_transform_tikev2_sa_get_td_for_type (ikev2_sa_proposal_t *p, ikev2_transform_type_t type)
 
ikev2_child_sa_tikev2_sa_get_child (ikev2_sa_t *sa, u32 spi, ikev2_protocol_id_t prot_id, int by_initiator)
 
void ikev2_sa_free_proposal_vector (ikev2_sa_proposal_t **v)
 
static void ikev2_sa_free_child_sa (ikev2_child_sa_t *c)
 
static void ikev2_sa_free_all_child_sa (ikev2_child_sa_t **childs)
 
static void ikev2_sa_del_child_sa (ikev2_sa_t *sa, ikev2_child_sa_t *child)
 
static void ikev2_sa_free_all_vec (ikev2_sa_t *sa)
 
static void ikev2_delete_sa (ikev2_sa_t *sa)
 
static void ikev2_generate_sa_init_data (ikev2_sa_t *sa)
 
static void ikev2_complete_sa_data (ikev2_sa_t *sa, ikev2_sa_t *sai)
 
static void ikev2_calc_keys (ikev2_sa_t *sa)
 
static void ikev2_calc_child_keys (ikev2_sa_t *sa, ikev2_child_sa_t *child)
 
static void ikev2_process_sa_init_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike)
 
static void ikev2_process_sa_init_resp (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike)
 
static u8ikev2_decrypt_sk_payload (ikev2_sa_t *sa, ike_header_t *ike, u8 *payload)
 
static void ikev2_initial_contact_cleanup (ikev2_sa_t *sa)
 
static void ikev2_process_auth_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike)
 
static void ikev2_process_informational_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike)
 
static void ikev2_process_create_child_sa_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike)
 
static u8ikev2_sa_generate_authmsg (ikev2_sa_t *sa, int is_responder)
 
static int ikev2_ts_cmp (ikev2_ts_t *ts1, ikev2_ts_t *ts2)
 
static void ikev2_sa_match_ts (ikev2_sa_t *sa)
 
static void ikev2_sa_auth (ikev2_sa_t *sa)
 
static void ikev2_sa_auth_init (ikev2_sa_t *sa)
 
static u32 ikev2_mk_local_sa_id (u32 sai, u32 ci, u32 ti)
 
static u32 ikev2_mk_remote_sa_id (u32 sai, u32 ci, u32 ti)
 
static void ikev2_add_tunnel_from_main (ikev2_add_ipsec_tunnel_args_t *a)
 
static int ikev2_create_tunnel_interface (vnet_main_t *vnm, u32 thread_index, ikev2_sa_t *sa, ikev2_child_sa_t *child, u32 sa_index, u32 child_index)
 
static void ikev2_del_tunnel_from_main (ikev2_del_ipsec_tunnel_args_t *a)
 
static u32 ikev2_generate_message (ikev2_sa_t *sa, ike_header_t *ike, void *user)
 
static int ikev2_retransmit_sa_init (ike_header_t *ike, ip4_address_t iaddr, ip4_address_t raddr)
 
static int ikev2_retransmit_resp (ikev2_sa_t *sa, ike_header_t *ike)
 
static uword ikev2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tikev2_set_initiator_proposals (vlib_main_t *vm, ikev2_sa_t *sa, ikev2_transforms_set *ts, ikev2_sa_proposal_t **proposals, int is_ike)
 
static ikev2_profile_tikev2_profile_index_by_name (u8 *name)
 
static void ikev2_send_ike (vlib_main_t *vm, ip4_address_t *src, ip4_address_t *dst, u32 bi0, u32 len)
 
static u32 ikev2_get_new_ike_header_buff (vlib_main_t *vm, ike_header_t **ike)
 
clib_error_tikev2_set_local_key (vlib_main_t *vm, u8 *file)
 
clib_error_tikev2_add_del_profile (vlib_main_t *vm, u8 *name, int is_add)
 
clib_error_tikev2_set_profile_auth (vlib_main_t *vm, u8 *name, u8 auth_method, u8 *auth_data, u8 data_hex_format)
 
clib_error_tikev2_set_profile_id (vlib_main_t *vm, u8 *name, u8 id_type, u8 *data, int is_local)
 
clib_error_tikev2_set_profile_ts (vlib_main_t *vm, u8 *name, u8 protocol_id, u16 start_port, u16 end_port, ip4_address_t start_addr, ip4_address_t end_addr, int is_local)
 
clib_error_tikev2_set_profile_responder (vlib_main_t *vm, u8 *name, u32 sw_if_index, ip4_address_t ip4)
 
clib_error_tikev2_set_profile_ike_transforms (vlib_main_t *vm, u8 *name, ikev2_transform_encr_type_t crypto_alg, ikev2_transform_integ_type_t integ_alg, ikev2_transform_dh_type_t dh_type, u32 crypto_key_size)
 
clib_error_tikev2_set_profile_esp_transforms (vlib_main_t *vm, u8 *name, ikev2_transform_encr_type_t crypto_alg, ikev2_transform_integ_type_t integ_alg, ikev2_transform_dh_type_t dh_type, u32 crypto_key_size)
 
clib_error_tikev2_set_profile_sa_lifetime (vlib_main_t *vm, u8 *name, u64 lifetime, u32 jitter, u32 handover, u64 maxdata)
 
clib_error_tikev2_initiate_sa_init (vlib_main_t *vm, u8 *name)
 
static void ikev2_delete_child_sa_internal (vlib_main_t *vm, ikev2_sa_t *sa, ikev2_child_sa_t *csa)
 
clib_error_tikev2_initiate_delete_child_sa (vlib_main_t *vm, u32 ispi)
 
clib_error_tikev2_initiate_delete_ike_sa (vlib_main_t *vm, u64 ispi)
 
static void ikev2_rekey_child_sa_internal (vlib_main_t *vm, ikev2_sa_t *sa, ikev2_child_sa_t *csa)
 
clib_error_tikev2_initiate_rekey_child_sa (vlib_main_t *vm, u32 ispi)
 
clib_error_tikev2_init (vlib_main_t *vm)
 
static u8 ikev2_mngr_process_child_sa (ikev2_sa_t *sa, ikev2_child_sa_t *csa)
 
static void ikev2_mngr_process_ipsec_sa (ipsec_sa_t *ipsec_sa)
 
static uword ikev2_mngr_process_fn (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
 VLIB_PLUGIN_REGISTER ()
 

Variables

ikev2_main_t ikev2_main
 
static vlib_node_registration_t ikev2_node
 (constructor) VLIB_REGISTER_NODE (ikev2_node) More...
 
static char * ikev2_error_strings []
 
static vlib_node_registration_t ikev2_mngr_process_node
 (constructor) VLIB_REGISTER_NODE (ikev2_mngr_process_node) More...
 

Macro Definition Documentation

◆ foreach_ikev2_error

#define foreach_ikev2_error
Value:
_(PROCESSED, "IKEv2 packets processed") \
_(IKE_SA_INIT_RETRANSMIT, "IKE_SA_INIT retransmit ") \
_(IKE_SA_INIT_IGNORE, "IKE_SA_INIT ignore (IKE SA already auth)") \
_(IKE_REQ_RETRANSMIT, "IKE request retransmit") \
_(IKE_REQ_IGNORE, "IKE request ignore (old msgid)") \
_(NOT_IKEV2, "Non IKEv2 packets received")

Definition at line 63 of file ikev2.c.

◆ ikev2_set_state

#define ikev2_set_state (   sa,
 
)
Value:
do { \
(sa)->state = v; \
clib_warning("sa state changed to " #v); \
} while(0);
vl_api_dhcp_client_state_t state
Definition: dhcp.api:201

Definition at line 38 of file ikev2.c.

Enumeration Type Documentation

◆ ikev2_error_t

Enumerator
IKEV2_N_ERROR 

Definition at line 71 of file ikev2.c.

◆ ikev2_next_t

Enumerator
IKEV2_NEXT_IP4_LOOKUP 
IKEV2_NEXT_ERROR_DROP 
IKEV2_N_NEXT 

Definition at line 85 of file ikev2.c.

Function Documentation

◆ format_ikev2_trace()

static u8* format_ikev2_trace ( u8 s,
va_list *  args 
)
static

Definition at line 50 of file ikev2.c.

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

◆ ikev2_add_del_profile()

clib_error_t* ikev2_add_del_profile ( vlib_main_t vm,
u8 name,
int  is_add 
)

Definition at line 2877 of file ikev2.c.

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

◆ ikev2_add_tunnel_from_main()

static void ikev2_add_tunnel_from_main ( ikev2_add_ipsec_tunnel_args_t a)
static

Definition at line 1539 of file ikev2.c.

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

◆ ikev2_calc_child_keys()

static void ikev2_calc_child_keys ( ikev2_sa_t sa,
ikev2_child_sa_t child 
)
static

Definition at line 521 of file ikev2.c.

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

◆ ikev2_calc_keys()

static void ikev2_calc_keys ( ikev2_sa_t sa)
static

Definition at line 437 of file ikev2.c.

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

◆ ikev2_complete_sa_data()

static void ikev2_complete_sa_data ( ikev2_sa_t sa,
ikev2_sa_t sai 
)
static

Definition at line 380 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_create_tunnel_interface()

static int ikev2_create_tunnel_interface ( vnet_main_t vnm,
u32  thread_index,
ikev2_sa_t sa,
ikev2_child_sa_t child,
u32  sa_index,
u32  child_index 
)
static

Definition at line 1586 of file ikev2.c.

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

◆ ikev2_decrypt_sk_payload()

static u8* ikev2_decrypt_sk_payload ( ikev2_sa_t sa,
ike_header_t *  ike,
u8 payload 
)
static

Definition at line 747 of file ikev2.c.

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

◆ ikev2_del_tunnel_from_main()

static void ikev2_del_tunnel_from_main ( ikev2_del_ipsec_tunnel_args_t a)
static

Definition at line 1799 of file ikev2.c.

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

◆ ikev2_delete_child_sa_internal()

static void ikev2_delete_child_sa_internal ( vlib_main_t vm,
ikev2_sa_t sa,
ikev2_child_sa_t csa 
)
static

Definition at line 3264 of file ikev2.c.

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

◆ ikev2_delete_sa()

static void ikev2_delete_sa ( ikev2_sa_t sa)
static

Definition at line 310 of file ikev2.c.

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

◆ ikev2_delete_tunnel_interface()

static int ikev2_delete_tunnel_interface ( vnet_main_t vnm,
ikev2_sa_t sa,
ikev2_child_sa_t child 
)
static

Definition at line 1825 of file ikev2.c.

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

◆ ikev2_find_transform_data()

static ikev2_sa_transform_t* ikev2_find_transform_data ( ikev2_sa_transform_t t)
static

Definition at line 93 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_generate_message()

static u32 ikev2_generate_message ( ikev2_sa_t sa,
ike_header_t *  ike,
void *  user 
)
static

Definition at line 1852 of file ikev2.c.

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

◆ ikev2_generate_sa_init_data()

static void ikev2_generate_sa_init_data ( ikev2_sa_t sa)
static

Definition at line 327 of file ikev2.c.

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

◆ ikev2_get_new_ike_header_buff()

static u32 ikev2_get_new_ike_header_buff ( vlib_main_t vm,
ike_header_t **  ike 
)
static

Definition at line 2851 of file ikev2.c.

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

◆ ikev2_init()

clib_error_t* ikev2_init ( vlib_main_t vm)

Definition at line 3484 of file ikev2.c.

+ Here is the call graph for this function:

◆ ikev2_initial_contact_cleanup()

static void ikev2_initial_contact_cleanup ( ikev2_sa_t sa)
static

Definition at line 812 of file ikev2.c.

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

◆ ikev2_initiate_delete_child_sa()

clib_error_t* ikev2_initiate_delete_child_sa ( vlib_main_t vm,
u32  ispi 
)

Definition at line 3294 of file ikev2.c.

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

◆ ikev2_initiate_delete_ike_sa()

clib_error_t* ikev2_initiate_delete_ike_sa ( vlib_main_t vm,
u64  ispi 
)

Definition at line 3334 of file ikev2.c.

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

◆ ikev2_initiate_rekey_child_sa()

clib_error_t* ikev2_initiate_rekey_child_sa ( vlib_main_t vm,
u32  ispi 
)

Definition at line 3444 of file ikev2.c.

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

◆ ikev2_initiate_sa_init()

clib_error_t* ikev2_initiate_sa_init ( vlib_main_t vm,
u8 name 
)

Definition at line 3112 of file ikev2.c.

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

◆ ikev2_mk_local_sa_id()

static u32 ikev2_mk_local_sa_id ( u32  sai,
u32  ci,
u32  ti 
)
static

Definition at line 1511 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_mk_remote_sa_id()

static u32 ikev2_mk_remote_sa_id ( u32  sai,
u32  ci,
u32  ti 
)
static

Definition at line 1517 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_mngr_process_child_sa()

static u8 ikev2_mngr_process_child_sa ( ikev2_sa_t sa,
ikev2_child_sa_t csa 
)
static

Definition at line 3524 of file ikev2.c.

+ Here is the call graph for this function:

◆ ikev2_mngr_process_fn()

static uword ikev2_mngr_process_fn ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 3617 of file ikev2.c.

+ Here is the call graph for this function:

◆ ikev2_mngr_process_ipsec_sa()

static void ikev2_mngr_process_ipsec_sa ( ipsec_sa_t ipsec_sa)
static

Definition at line 3571 of file ikev2.c.

+ Here is the call graph for this function:

◆ ikev2_node_fn()

static uword ikev2_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 2247 of file ikev2.c.

+ Here is the call graph for this function:

◆ ikev2_process_auth_req()

static void ikev2_process_auth_req ( vlib_main_t vm,
ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 851 of file ikev2.c.

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

◆ ikev2_process_create_child_sa_req()

static void ikev2_process_create_child_sa_req ( vlib_main_t vm,
ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 1082 of file ikev2.c.

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

◆ ikev2_process_informational_req()

static void ikev2_process_informational_req ( vlib_main_t vm,
ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 1011 of file ikev2.c.

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

◆ ikev2_process_sa_init_req()

static void ikev2_process_sa_init_req ( vlib_main_t vm,
ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 592 of file ikev2.c.

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

◆ ikev2_process_sa_init_resp()

static void ikev2_process_sa_init_resp ( vlib_main_t vm,
ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 667 of file ikev2.c.

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

◆ ikev2_profile_index_by_name()

static ikev2_profile_t* ikev2_profile_index_by_name ( u8 name)
static

Definition at line 2794 of file ikev2.c.

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

◆ ikev2_rekey_child_sa_internal()

static void ikev2_rekey_child_sa_internal ( vlib_main_t vm,
ikev2_sa_t sa,
ikev2_child_sa_t csa 
)
static

Definition at line 3410 of file ikev2.c.

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

◆ ikev2_retransmit_resp()

static int ikev2_retransmit_resp ( ikev2_sa_t sa,
ike_header_t *  ike 
)
static

Definition at line 2203 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_retransmit_sa_init()

static int ikev2_retransmit_sa_init ( ike_header_t *  ike,
ip4_address_t  iaddr,
ip4_address_t  raddr 
)
static

Definition at line 2133 of file ikev2.c.

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

◆ ikev2_sa_auth()

static void ikev2_sa_auth ( ikev2_sa_t sa)
static

Definition at line 1345 of file ikev2.c.

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

◆ ikev2_sa_auth_init()

static void ikev2_sa_auth_init ( ikev2_sa_t sa)
static

Definition at line 1468 of file ikev2.c.

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

◆ ikev2_sa_del_child_sa()

static void ikev2_sa_del_child_sa ( ikev2_sa_t sa,
ikev2_child_sa_t child 
)
static

Definition at line 272 of file ikev2.c.

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

◆ ikev2_sa_free_all_child_sa()

static void ikev2_sa_free_all_child_sa ( ikev2_child_sa_t **  childs)
static

Definition at line 263 of file ikev2.c.

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

◆ ikev2_sa_free_all_vec()

static void ikev2_sa_free_all_vec ( ikev2_sa_t sa)
static

Definition at line 279 of file ikev2.c.

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

◆ ikev2_sa_free_child_sa()

static void ikev2_sa_free_child_sa ( ikev2_child_sa_t c)
static

Definition at line 250 of file ikev2.c.

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

◆ ikev2_sa_free_proposal_vector()

void ikev2_sa_free_proposal_vector ( ikev2_sa_proposal_t **  v)

Definition at line 230 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_sa_generate_authmsg()

static u8* ikev2_sa_generate_authmsg ( ikev2_sa_t sa,
int  is_responder 
)
static

Definition at line 1223 of file ikev2.c.

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

◆ ikev2_sa_get_child()

ikev2_child_sa_t* ikev2_sa_get_child ( ikev2_sa_t sa,
u32  spi,
ikev2_protocol_id_t  prot_id,
int  by_initiator 
)

Definition at line 214 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_sa_get_td_for_type()

ikev2_sa_transform_t* ikev2_sa_get_td_for_type ( ikev2_sa_proposal_t p,
ikev2_transform_type_t  type 
)

Definition at line 197 of file ikev2.c.

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

◆ ikev2_sa_match_ts()

static void ikev2_sa_match_ts ( ikev2_sa_t sa)
static

Definition at line 1278 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_select_proposal()

static ikev2_sa_proposal_t* ikev2_select_proposal ( ikev2_sa_proposal_t proposals,
ikev2_protocol_id_t  prot_id 
)
static

Definition at line 121 of file ikev2.c.

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

◆ ikev2_send_ike()

static void ikev2_send_ike ( vlib_main_t vm,
ip4_address_t src,
ip4_address_t dst,
u32  bi0,
u32  len 
)
static

Definition at line 2808 of file ikev2.c.

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

◆ ikev2_set_initiator_proposals()

static clib_error_t* ikev2_set_initiator_proposals ( vlib_main_t vm,
ikev2_sa_t sa,
ikev2_transforms_set ts,
ikev2_sa_proposal_t **  proposals,
int  is_ike 
)
static

Definition at line 2669 of file ikev2.c.

+ Here is the caller graph for this function:

◆ ikev2_set_local_key()

clib_error_t* ikev2_set_local_key ( vlib_main_t vm,
u8 file 
)

Definition at line 2865 of file ikev2.c.

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

◆ ikev2_set_profile_auth()

clib_error_t* ikev2_set_profile_auth ( vlib_main_t vm,
u8 name,
u8  auth_method,
u8 auth_data,
u8  data_hex_format 
)

Definition at line 2908 of file ikev2.c.

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

◆ ikev2_set_profile_esp_transforms()

clib_error_t* ikev2_set_profile_esp_transforms ( vlib_main_t vm,
u8 name,
ikev2_transform_encr_type_t  crypto_alg,
ikev2_transform_integ_type_t  integ_alg,
ikev2_transform_dh_type_t  dh_type,
u32  crypto_key_size 
)

Definition at line 3064 of file ikev2.c.

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

◆ ikev2_set_profile_id()

clib_error_t* ikev2_set_profile_id ( vlib_main_t vm,
u8 name,
u8  id_type,
u8 data,
int  is_local 
)

Definition at line 2940 of file ikev2.c.

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

◆ ikev2_set_profile_ike_transforms()

clib_error_t* ikev2_set_profile_ike_transforms ( vlib_main_t vm,
u8 name,
ikev2_transform_encr_type_t  crypto_alg,
ikev2_transform_integ_type_t  integ_alg,
ikev2_transform_dh_type_t  dh_type,
u32  crypto_key_size 
)

Definition at line 3039 of file ikev2.c.

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

◆ ikev2_set_profile_responder()

clib_error_t* ikev2_set_profile_responder ( vlib_main_t vm,
u8 name,
u32  sw_if_index,
ip4_address_t  ip4 
)

Definition at line 3018 of file ikev2.c.

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

◆ ikev2_set_profile_sa_lifetime()

clib_error_t* ikev2_set_profile_sa_lifetime ( vlib_main_t vm,
u8 name,
u64  lifetime,
u32  jitter,
u32  handover,
u64  maxdata 
)

Definition at line 3089 of file ikev2.c.

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

◆ ikev2_set_profile_ts()

clib_error_t* ikev2_set_profile_ts ( vlib_main_t vm,
u8 name,
u8  protocol_id,
u16  start_port,
u16  end_port,
ip4_address_t  start_addr,
ip4_address_t  end_addr,
int  is_local 
)

Definition at line 2979 of file ikev2.c.

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

◆ ikev2_ts_cmp()

static int ikev2_ts_cmp ( ikev2_ts_t ts1,
ikev2_ts_t ts2 
)
static

Definition at line 1266 of file ikev2.c.

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )
+ Here is the caller graph for this function:

Variable Documentation

◆ ikev2_error_strings

char* ikev2_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_ikev2_error
Definition: ikev2.c:63

Definition at line 79 of file ikev2.c.

◆ ikev2_main

ikev2_main_t ikev2_main

Definition at line 32 of file ikev2.c.

◆ ikev2_mngr_process_node

static vlib_node_registration_t ikev2_mngr_process_node
static
Initial value:
= {
.function = ikev2_mngr_process_fn,
.name =
"ikev2-manager-process",
}
static uword ikev2_mngr_process_fn(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: ikev2.c:3617

(constructor) VLIB_REGISTER_NODE (ikev2_mngr_process_node)

Definition at line 3614 of file ikev2.c.

◆ ikev2_node

static vlib_node_registration_t ikev2_node
static
Initial value:
= {
.function = ikev2_node_fn,
.name = "ikev2",
.vector_size = sizeof (u32),
.format_trace = format_ikev2_trace,
.error_strings = ikev2_error_strings,
.n_next_nodes = IKEV2_N_NEXT,
.next_nodes = {
[IKEV2_NEXT_IP4_LOOKUP] = "ip4-lookup",
[IKEV2_NEXT_ERROR_DROP] = "error-drop",
},
}
static u8 * format_ikev2_trace(u8 *s, va_list *args)
Definition: ikev2.c:50
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
static uword ikev2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ikev2.c:2247
#define ARRAY_LEN(x)
Definition: clib.h:62
static char * ikev2_error_strings[]
Definition: ikev2.c:79

(constructor) VLIB_REGISTER_NODE (ikev2_node)

Definition at line 61 of file ikev2.c.