FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
ikev2_api.c File Reference
+ Include dependency graph for ikev2_api.c:

Go to the source code of this file.

Macros

#define vl_endianfun   /* define message structures */
 
#define IKEV2_PLUGIN_VERSION_MAJOR   1
 
#define IKEV2_PLUGIN_VERSION_MINOR   0
 
#define REPLY_MSG_ID_BASE   ikev2_main.msg_id_base
 
#define IKEV2_MAX_DATA_LEN   (1 << 10)
 

Functions

static u32 ikev2_encode_sa_index (u32 sai, u32 ti)
 
static void ikev2_decode_sa_index (u32 api_sai, u32 *sai, u32 *ti)
 
static void cp_ike_transforms (vl_api_ikev2_ike_transforms_t *vl_api_ts, ikev2_transforms_set *ts)
 
static void cp_esp_transforms (vl_api_ikev2_esp_transforms_t *vl_api_ts, ikev2_transforms_set *ts)
 
static void cp_id (vl_api_ikev2_id_t *vl_api_id, ikev2_id_t *id)
 
static void cp_ts (vl_api_ikev2_ts_t *vl_api_ts, ikev2_ts_t *ts, u8 is_local)
 
static void cp_auth (vl_api_ikev2_auth_t *vl_api_auth, ikev2_auth_t *auth)
 
static void cp_responder (vl_api_ikev2_responder_t *vl_api_responder, ikev2_responder_t *responder)
 
void cp_sa_transform (vl_api_ikev2_sa_transform_t *vl_tr, ikev2_sa_transform_t *tr)
 
static void send_profile (ikev2_profile_t *profile, vl_api_registration_t *reg, u32 context)
 
static void vl_api_ikev2_profile_dump_t_handler (vl_api_ikev2_profile_dump_t *mp)
 
static void ikev2_copy_stats (vl_api_ikev2_sa_stats_t *dst, const ikev2_stats_t *src)
 
static void send_sa (ikev2_sa_t *sa, vl_api_ikev2_sa_dump_t *mp, u32 api_sa_index)
 
static void vl_api_ikev2_sa_dump_t_handler (vl_api_ikev2_sa_dump_t *mp)
 
static void send_child_sa (ikev2_child_sa_t *child, vl_api_ikev2_child_sa_dump_t *mp, u32 child_sa_index, u32 sa_index)
 
static void vl_api_ikev2_child_sa_dump_t_handler (vl_api_ikev2_child_sa_dump_t *mp)
 
static void vl_api_ikev2_traffic_selector_dump_t_handler (vl_api_ikev2_traffic_selector_dump_t *mp)
 
static void vl_api_ikev2_nonce_get_t_handler (vl_api_ikev2_nonce_get_t *mp)
 
static void vl_api_ikev2_plugin_get_version_t_handler (vl_api_ikev2_plugin_get_version_t *mp)
 
static void vl_api_ikev2_profile_set_liveness_t_handler (vl_api_ikev2_profile_set_liveness_t *mp)
 
static void vl_api_ikev2_profile_add_del_t_handler (vl_api_ikev2_profile_add_del_t *mp)
 
static void vl_api_ikev2_profile_set_auth_t_handler (vl_api_ikev2_profile_set_auth_t *mp)
 
static void vl_api_ikev2_profile_set_id_t_handler (vl_api_ikev2_profile_set_id_t *mp)
 
static void vl_api_ikev2_profile_set_udp_encap_t_handler (vl_api_ikev2_profile_set_udp_encap_t *mp)
 
static void vl_api_ikev2_profile_set_ts_t_handler (vl_api_ikev2_profile_set_ts_t *mp)
 
static void vl_api_ikev2_set_local_key_t_handler (vl_api_ikev2_set_local_key_t *mp)
 
static void vl_api_ikev2_set_responder_hostname_t_handler (vl_api_ikev2_set_responder_hostname_t *mp)
 
static void vl_api_ikev2_set_responder_t_handler (vl_api_ikev2_set_responder_t *mp)
 
static void vl_api_ikev2_set_ike_transforms_t_handler (vl_api_ikev2_set_ike_transforms_t *mp)
 
static void vl_api_ikev2_set_esp_transforms_t_handler (vl_api_ikev2_set_esp_transforms_t *mp)
 
static void vl_api_ikev2_set_sa_lifetime_t_handler (vl_api_ikev2_set_sa_lifetime_t *mp)
 
static void vl_api_ikev2_profile_set_ipsec_udp_port_t_handler (vl_api_ikev2_profile_set_ipsec_udp_port_t *mp)
 
static void vl_api_ikev2_set_tunnel_interface_t_handler (vl_api_ikev2_set_tunnel_interface_t *mp)
 
static void vl_api_ikev2_initiate_sa_init_t_handler (vl_api_ikev2_initiate_sa_init_t *mp)
 
static void vl_api_ikev2_initiate_del_ike_sa_t_handler (vl_api_ikev2_initiate_del_ike_sa_t *mp)
 
static void vl_api_ikev2_initiate_del_child_sa_t_handler (vl_api_ikev2_initiate_del_child_sa_t *mp)
 
static void vl_api_ikev2_profile_disable_natt_t_handler (vl_api_ikev2_profile_disable_natt_t *mp)
 
static void vl_api_ikev2_initiate_rekey_child_sa_t_handler (vl_api_ikev2_initiate_rekey_child_sa_t *mp)
 
static clib_error_tikev2_api_init (vlib_main_t *vm)
 

Variables

ikev2_main_t ikev2_main
 

Macro Definition Documentation

◆ IKEV2_MAX_DATA_LEN

#define IKEV2_MAX_DATA_LEN   (1 << 10)

Definition at line 46 of file ikev2_api.c.

◆ IKEV2_PLUGIN_VERSION_MAJOR

#define IKEV2_PLUGIN_VERSION_MAJOR   1

Definition at line 41 of file ikev2_api.c.

◆ IKEV2_PLUGIN_VERSION_MINOR

#define IKEV2_PLUGIN_VERSION_MINOR   0

Definition at line 42 of file ikev2_api.c.

◆ REPLY_MSG_ID_BASE

#define REPLY_MSG_ID_BASE   ikev2_main.msg_id_base

Definition at line 43 of file ikev2_api.c.

◆ vl_endianfun

#define vl_endianfun   /* define message structures */

Definition at line 34 of file ikev2_api.c.

Function Documentation

◆ cp_auth()

static void cp_auth ( vl_api_ikev2_auth_t *  vl_api_auth,
ikev2_auth_t auth 
)
static

Definition at line 108 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ cp_esp_transforms()

static void cp_esp_transforms ( vl_api_ikev2_esp_transforms_t *  vl_api_ts,
ikev2_transforms_set ts 
)
static

Definition at line 72 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ cp_id()

static void cp_id ( vl_api_ikev2_id_t *  vl_api_id,
ikev2_id_t id 
)
static

Definition at line 81 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ cp_ike_transforms()

static void cp_ike_transforms ( vl_api_ikev2_ike_transforms_t *  vl_api_ts,
ikev2_transforms_set ts 
)
static

Definition at line 62 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ cp_responder()

static void cp_responder ( vl_api_ikev2_responder_t *  vl_api_responder,
ikev2_responder_t responder 
)
static

Definition at line 117 of file ikev2_api.c.

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

◆ cp_sa_transform()

void cp_sa_transform ( vl_api_ikev2_sa_transform_t *  vl_tr,
ikev2_sa_transform_t tr 
)

Definition at line 125 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ cp_ts()

static void cp_ts ( vl_api_ikev2_ts_t *  vl_api_ts,
ikev2_ts_t ts,
u8  is_local 
)
static

Definition at line 97 of file ikev2_api.c.

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

◆ ikev2_api_init()

static clib_error_t* ikev2_api_init ( vlib_main_t vm)
static

Definition at line 1031 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ ikev2_copy_stats()

static void ikev2_copy_stats ( vl_api_ikev2_sa_stats_t *  dst,
const ikev2_stats_t src 
)
static

Definition at line 200 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ ikev2_decode_sa_index()

static void ikev2_decode_sa_index ( u32  api_sai,
u32 sai,
u32 ti 
)
static

Definition at line 55 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ ikev2_encode_sa_index()

static u32 ikev2_encode_sa_index ( u32  sai,
u32  ti 
)
static

Definition at line 49 of file ikev2_api.c.

+ Here is the caller graph for this function:

◆ send_child_sa()

static void send_child_sa ( ikev2_child_sa_t child,
vl_api_ikev2_child_sa_dump_t mp,
u32  child_sa_index,
u32  sa_index 
)
static

Definition at line 298 of file ikev2_api.c.

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

◆ send_profile()

static void send_profile ( ikev2_profile_t profile,
vl_api_registration_t reg,
u32  context 
)
static

Definition at line 137 of file ikev2_api.c.

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

◆ send_sa()

static void send_sa ( ikev2_sa_t sa,
vl_api_ikev2_sa_dump_t mp,
u32  api_sa_index 
)
static

Definition at line 211 of file ikev2_api.c.

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

◆ vl_api_ikev2_child_sa_dump_t_handler()

static void vl_api_ikev2_child_sa_dump_t_handler ( vl_api_ikev2_child_sa_dump_t mp)
static

Definition at line 355 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_initiate_del_child_sa_t_handler()

static void vl_api_ikev2_initiate_del_child_sa_t_handler ( vl_api_ikev2_initiate_del_child_sa_t mp)
static

Definition at line 955 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_initiate_del_ike_sa_t_handler()

static void vl_api_ikev2_initiate_del_ike_sa_t_handler ( vl_api_ikev2_initiate_del_ike_sa_t mp)
static

Definition at line 929 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_initiate_rekey_child_sa_t_handler()

static void vl_api_ikev2_initiate_rekey_child_sa_t_handler ( vl_api_ikev2_initiate_rekey_child_sa_t mp)
static

Definition at line 1006 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_initiate_sa_init_t_handler()

static void vl_api_ikev2_initiate_sa_init_t_handler ( vl_api_ikev2_initiate_sa_init_t mp)
static

Definition at line 902 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_nonce_get_t_handler()

static void vl_api_ikev2_nonce_get_t_handler ( vl_api_ikev2_nonce_get_t mp)
static

Definition at line 430 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_plugin_get_version_t_handler()

static void vl_api_ikev2_plugin_get_version_t_handler ( vl_api_ikev2_plugin_get_version_t mp)
static

Definition at line 464 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_add_del_t_handler()

static void vl_api_ikev2_profile_add_del_t_handler ( vl_api_ikev2_profile_add_del_t mp)
static

Definition at line 512 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_disable_natt_t_handler()

static void vl_api_ikev2_profile_disable_natt_t_handler ( vl_api_ikev2_profile_disable_natt_t mp)
static

Definition at line 980 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_dump_t_handler()

static void vl_api_ikev2_profile_dump_t_handler ( vl_api_ikev2_profile_dump_t mp)
static

Definition at line 182 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_auth_t_handler()

static void vl_api_ikev2_profile_set_auth_t_handler ( vl_api_ikev2_profile_set_auth_t mp)
static

Definition at line 538 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_id_t_handler()

static void vl_api_ikev2_profile_set_id_t_handler ( vl_api_ikev2_profile_set_id_t mp)
static

Definition at line 573 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_ipsec_udp_port_t_handler()

static void vl_api_ikev2_profile_set_ipsec_udp_port_t_handler ( vl_api_ikev2_profile_set_ipsec_udp_port_t mp)
static

Definition at line 848 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_liveness_t_handler()

static void vl_api_ikev2_profile_set_liveness_t_handler ( vl_api_ikev2_profile_set_liveness_t mp)
static

Definition at line 489 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_ts_t_handler()

static void vl_api_ikev2_profile_set_ts_t_handler ( vl_api_ikev2_profile_set_ts_t mp)
static

Definition at line 633 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_profile_set_udp_encap_t_handler()

static void vl_api_ikev2_profile_set_udp_encap_t_handler ( vl_api_ikev2_profile_set_udp_encap_t mp)
static

Definition at line 608 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_sa_dump_t_handler()

static void vl_api_ikev2_sa_dump_t_handler ( vl_api_ikev2_sa_dump_t mp)
static

Definition at line 277 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_esp_transforms_t_handler()

static void vl_api_ikev2_set_esp_transforms_t_handler ( vl_api_ikev2_set_esp_transforms_t mp)
static

Definition at line 783 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_ike_transforms_t_handler()

static void vl_api_ikev2_set_ike_transforms_t_handler ( vl_api_ikev2_set_ike_transforms_t mp)
static

Definition at line 751 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_local_key_t_handler()

static void vl_api_ikev2_set_local_key_t_handler ( vl_api_ikev2_set_local_key_t mp)
static

Definition at line 665 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_responder_hostname_t_handler()

static void vl_api_ikev2_set_responder_hostname_t_handler ( vl_api_ikev2_set_responder_hostname_t mp)
static

Definition at line 689 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_responder_t_handler()

static void vl_api_ikev2_set_responder_t_handler ( vl_api_ikev2_set_responder_t mp)
static

Definition at line 721 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_sa_lifetime_t_handler()

static void vl_api_ikev2_set_sa_lifetime_t_handler ( vl_api_ikev2_set_sa_lifetime_t mp)
static

Definition at line 814 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_set_tunnel_interface_t_handler()

static void vl_api_ikev2_set_tunnel_interface_t_handler ( vl_api_ikev2_set_tunnel_interface_t mp)
static

Definition at line 872 of file ikev2_api.c.

+ Here is the call graph for this function:

◆ vl_api_ikev2_traffic_selector_dump_t_handler()

static void vl_api_ikev2_traffic_selector_dump_t_handler ( vl_api_ikev2_traffic_selector_dump_t mp)
static

Definition at line 384 of file ikev2_api.c.

+ Here is the call graph for this function:

Variable Documentation

◆ ikev2_main

ikev2_main_t ikev2_main

Definition at line 37 of file ikev2.c.