|
static int | ikev2_delete_tunnel_interface (vnet_main_t *vnm, ikev2_sa_t *sa, ikev2_child_sa_t *child) |
|
static u8 * | format_ikev2_trace (u8 *s, va_list *args) |
|
static u8 * | format_ikev2_gen_sa_error (u8 *s, va_list *args) |
|
static_always_inline u16 | ikev2_get_port (ikev2_sa_t *sa) |
|
static_always_inline int | ikev2_insert_non_esp_marker (ike_header_t *ike, int len) |
|
static ikev2_sa_transform_t * | ikev2_find_transform_data (ikev2_sa_transform_t *t) |
|
static ikev2_sa_proposal_t * | ikev2_select_proposal (ikev2_sa_proposal_t *proposals, ikev2_protocol_id_t prot_id) |
|
ikev2_sa_transform_t * | ikev2_sa_get_td_for_type (ikev2_sa_proposal_t *p, ikev2_transform_type_t type) |
|
ikev2_child_sa_t * | ikev2_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_main_per_thread_data_t *ptd, ikev2_sa_t *sa) |
|
static ikev2_generate_sa_error_t | 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_always_inline u8 * | ikev2_compute_nat_sha1 (u64 ispi, u64 rspi, ip_address_t *ia, u16 port) |
|
static int | ikev2_parse_ke_payload (const void *p, u32 rlen, ikev2_sa_t *sa, u8 **ke_data) |
|
static int | ikev2_parse_nonce_payload (const void *p, u32 rlen, u8 *nonce) |
|
static int | ikev2_check_payload_length (const ike_payload_header_t *ikep, int rlen, u16 *plen) |
|
static int | ikev2_process_sa_init_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike, udp_header_t *udp, u32 len, u32 sw_if_index) |
|
static void | ikev2_process_sa_init_resp (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike, udp_header_t *udp, u32 len) |
|
static u8 * | ikev2_decrypt_sk_payload (ikev2_sa_t *sa, ike_header_t *ike, u8 *payload, u32 rlen, u32 *out_len) |
|
static_always_inline int | ikev2_is_id_equal (ikev2_id_t *i1, ikev2_id_t *i2) |
|
static void | ikev2_initial_contact_cleanup_internal (ikev2_main_per_thread_data_t *ptd, ikev2_sa_t *sa) |
|
static void | ikev2_initial_contact_cleanup (ikev2_main_per_thread_data_t *ptd, ikev2_sa_t *sa) |
|
static int | ikev2_parse_id_payload (const void *p, u16 rlen, ikev2_id_t *sa_id) |
|
static int | ikev2_parse_auth_payload (const void *p, u32 rlen, ikev2_auth_t *a) |
|
static int | ikev2_process_auth_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike, u32 len) |
|
static int | ikev2_process_informational_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike, u32 len) |
|
static int | ikev2_process_create_child_sa_req (vlib_main_t *vm, ikev2_sa_t *sa, ike_header_t *ike, u32 len) |
|
static u8 * | ikev2_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 ikev2_profile_t * | ikev2_select_profile (ikev2_main_t *km, ikev2_sa_t *sa, ikev2_sa_transform_t *tr_prf, u8 *key_pad) |
|
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 (vlib_main_t *vm, ikev2_sa_t *sa, ikev2_child_sa_t *child, u32 sa_index, u32 child_index, u8 is_rekey) |
|
static_always_inline u32 | ikev2_flip_alternate_sa_bit (u32 id) |
|
static void | ikev2_del_tunnel_from_main (ikev2_del_ipsec_tunnel_args_t *a) |
|
static u32 | ikev2_generate_message (vlib_buffer_t *b, ikev2_sa_t *sa, ike_header_t *ike, void *user, udp_header_t *udp, ikev2_stats_t *stats) |
|
static u32 | ikev2_retransmit_sa_init_one (ikev2_sa_t *sa, ike_header_t *ike, ip_address_t iaddr, ip_address_t raddr, u32 rlen) |
|
static u32 | ikev2_retransmit_sa_init (ike_header_t *ike, ip_address_t iaddr, ip_address_t raddr, u32 rlen) |
|
static u32 | ikev2_retransmit_resp (ikev2_sa_t *sa, ike_header_t *ike) |
|
static void | ikev2_init_sa (vlib_main_t *vm, ikev2_sa_t *sa) |
|
static void | ikev2_del_sa_init_from_main (u64 *ispi) |
|
static void | ikev2_del_sa_init (u64 ispi) |
|
static_always_inline void | ikev2_rewrite_v6_addrs (ikev2_sa_t *sa, ip6_header_t *ih) |
|
static_always_inline void | ikev2_rewrite_v4_addrs (ikev2_sa_t *sa, ip4_header_t *ih) |
|
static_always_inline void | ikev2_set_ip_address (ikev2_sa_t *sa, const void *iaddr, const void *raddr, const ip_address_family_t af) |
|
static void | ikev2_elog_uint_peers_addr (u32 exchange, ip4_header_t *ip4, ip6_header_t *ip6, u8 is_ip4) |
|
static void | ikev2_generate_sa_init_data_and_log (ikev2_sa_t *sa) |
|
static void | ikev2_update_stats (vlib_main_t *vm, u32 node_index, ikev2_stats_t *s) |
|
static_always_inline uword | ikev2_node_internal (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 is_ip4, u8 natt) |
|
static uword | ikev2_ip4 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | ikev2_ip4_natt (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | ikev2_ip6 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
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 ikev2_profile_t * | ikev2_profile_index_by_name (u8 *name) |
|
static void | ikev2_send_ike (vlib_main_t *vm, ip_address_t *src, ip_address_t *dst, u32 bi0, u32 len, u16 src_port, u16 dst_port, u32 sw_if_index) |
|
static u32 | ikev2_get_new_ike_header_buff (vlib_main_t *vm, vlib_buffer_t **b) |
|
clib_error_t * | ikev2_set_local_key (vlib_main_t *vm, u8 *file) |
|
static_always_inline vnet_api_error_t | ikev2_register_udp_port (ikev2_profile_t *p, u16 port) |
|
static_always_inline void | ikev2_unregister_udp_port (ikev2_profile_t *p) |
|
static void | ikev2_initiate_delete_ike_sa_internal (vlib_main_t *vm, ikev2_main_per_thread_data_t *tkm, ikev2_sa_t *sa, u8 send_notification) |
|
static void | ikev2_cleanup_profile_sessions (ikev2_main_t *km, ikev2_profile_t *p) |
|
static void | ikev2_profile_responder_free (ikev2_responder_t *r) |
|
static void | ikev2_profile_free (ikev2_profile_t *p) |
|
clib_error_t * | ikev2_add_del_profile (vlib_main_t *vm, u8 *name, int is_add) |
|
clib_error_t * | ikev2_set_profile_auth (vlib_main_t *vm, u8 *name, u8 auth_method, u8 *auth_data, u8 data_hex_format) |
|
static int | ikev2_is_id_supported (u8 id_type) |
|
clib_error_t * | ikev2_set_profile_id (vlib_main_t *vm, u8 *name, u8 id_type, u8 *data, int is_local) |
|
static_always_inline void | ikev2_set_ts_type (ikev2_ts_t *ts, const ip_address_t *addr) |
|
static_always_inline void | ikev2_set_ts_addrs (ikev2_ts_t *ts, const ip_address_t *start, const ip_address_t *end) |
|
clib_error_t * | ikev2_set_profile_ts (vlib_main_t *vm, u8 *name, u8 protocol_id, u16 start_port, u16 end_port, ip_address_t start_addr, ip_address_t end_addr, int is_local) |
|
clib_error_t * | ikev2_set_profile_responder_hostname (vlib_main_t *vm, u8 *name, u8 *hostname, u32 sw_if_index) |
|
clib_error_t * | ikev2_set_profile_responder (vlib_main_t *vm, u8 *name, u32 sw_if_index, ip_address_t addr) |
|
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) |
|
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, u32 crypto_key_size) |
|
clib_error_t * | ikev2_set_profile_tunnel_interface (vlib_main_t *vm, u8 *name, u32 sw_if_index) |
|
vnet_api_error_t | ikev2_set_profile_ipsec_udp_port (vlib_main_t *vm, u8 *name, u16 port, u8 is_set) |
|
clib_error_t * | ikev2_set_profile_udp_encap (vlib_main_t *vm, u8 *name) |
|
clib_error_t * | ikev2_set_profile_sa_lifetime (vlib_main_t *vm, u8 *name, u64 lifetime, u32 jitter, u32 handover, u64 maxdata) |
|
static int | ikev2_get_if_address (u32 sw_if_index, ip_address_family_t af, ip_address_t *out_addr) |
|
static clib_error_t * | ikev2_resolve_responder_hostname (vlib_main_t *vm, ikev2_responder_t *r) |
|
clib_error_t * | ikev2_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_t * | ikev2_initiate_delete_child_sa (vlib_main_t *vm, u32 ispi) |
|
clib_error_t * | ikev2_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_t * | ikev2_initiate_rekey_child_sa (vlib_main_t *vm, u32 ispi) |
|
static int | ikev2_sa_sw_if_match (ikev2_sa_t *sa, u32 sw_if_index) |
|
static void | ikev2_sa_del (ikev2_profile_t *p, u32 sw_if_index) |
|
static clib_error_t * | ikev2_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (ikev2_sw_interface_add_del) |
|
clib_error_t * | ikev2_init (vlib_main_t *vm) |
|
static u8 | ikev2_mngr_process_child_sa (ikev2_sa_t *sa, ikev2_child_sa_t *csa, u8 del_old_ids) |
|
int | ikev2_set_log_level (ikev2_log_level_t log_level) |
|
clib_error_t * | ikev2_set_liveness_params (u32 period, u32 max_retries) |
|
clib_error_t * | ikev2_profile_natt_disable (u8 *name) |
|
static void | ikev2_mngr_process_ipsec_sa (ipsec_sa_t *ipsec_sa) |
|
static void | ikev2_process_pending_sa_init_one (vlib_main_t *vm, ikev2_main_t *km, ikev2_sa_t *sa) |
|
static void | ikev2_process_pending_sa_init (vlib_main_t *vm, ikev2_main_t *km) |
|
static void | ikev2_send_informational_request (ikev2_sa_t *sa) |
|
void | ikev2_disable_dpd (void) |
|
static_always_inline int | ikev2_mngr_process_responder_sas (ikev2_sa_t *sa) |
|
static uword | ikev2_mngr_process_fn (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|
| VLIB_PLUGIN_REGISTER () |
|