220 const char *ah4_encrypt_node_name,
221 const char *ah4_decrypt_node_name,
222 const char *ah6_encrypt_node_name,
223 const char *ah6_decrypt_node_name,
229 const char *esp4_encrypt_node_name,
230 const char *esp4_encrypt_tun_node_name,
231 const char *esp4_decrypt_node_name,
232 const char *esp6_encrypt_node_name,
233 const char *esp6_encrypt_tun_node_name,
234 const char *esp6_decrypt_node_name,
250 u32 * out_feature_index);
void ipsec_add_feature(const char *arc_name, const char *node_name, u32 *out_feature_index)
u32 esp4_encrypt_next_index
ipsec_main_crypto_alg_t * crypto_algs
ipsec_tunnel_if_t * tunnel_interfaces
uword * tun6_protect_by_key
ipsec_per_thread_data_t * ptd
u32 esp6_decrypt_node_index
vnet_crypto_op_t * integ_ops
uword * tunnel_index_by_key
u32 ah4_decrypt_next_index
uword * ipsec4_if_pool_index_by_key
u32 esp4_decrypt_node_index
clib_error_t * ipsec_check_support_cb(ipsec_main_t *im, ipsec_sa_t *sa)
enum ipsec_format_flags_t_ ipsec_format_flags_t
u32 ah6_decrypt_next_index
u32 esp6_decrypt_next_index
vnet_crypto_op_t * crypto_ops
u32 ah4_encrypt_next_index
u32 ah4_encrypt_node_index
u32 esp6_encrypt_node_index
A Secruity Policy Database.
u32 ah6_decrypt_node_index
vlib_node_registration_t esp6_decrypt_node
(constructor) VLIB_REGISTER_NODE (esp6_decrypt_node)
uword * spd_index_by_sw_if_index
int ipsec_select_esp_backend(ipsec_main_t *im, u32 esp_backend_idx)
u32 esp6_encrypt_next_index
uword * ipsec6_if_pool_index_by_key
u32 ah6_encrypt_node_index
#define static_always_inline
vlib_node_registration_t esp4_encrypt_node
(constructor) VLIB_REGISTER_NODE (esp4_encrypt_node)
vlib_node_registration_t esp4_decrypt_node
(constructor) VLIB_REGISTER_NODE (esp4_decrypt_node)
u32 esp6_encrypt_node_index
u32 esp4_decrypt_next_index
u32 ah6_encrypt_next_index
uword * ipsec_if_by_sw_if_index
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_tun_node_name, const char *esp4_decrypt_node_name, const char *esp6_encrypt_node_name, const char *esp6_encrypt_tun_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)
check_support_cb_t check_support_cb
clib_error_t *(* add_del_sa_sess_cb_t)(u32 sa_index, u8 is_add)
u32 esp6_encrypt_tun_feature_index
u32 esp6_decrypt_node_index
u32 ah4_decrypt_node_index
u32 error_drop_node_index
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
u32 esp4_encrypt_node_index
vnet_crypto_op_id_t enc_op_id
u32 ah4_decrypt_next_index
vlib_node_registration_t ah6_decrypt_node
(constructor) VLIB_REGISTER_NODE (ah6_decrypt_node)
vlib_node_registration_t ah4_encrypt_node
(constructor) VLIB_REGISTER_NODE (ah4_encrypt_node)
vlib_node_registration_t esp6_encrypt_node
(constructor) VLIB_REGISTER_NODE (esp6_encrypt_node)
u32 node_index
Node index.
u32 esp4_encrypt_node_index
static ipsec_sa_t * ipsec_sa_get(u32 sa_index)
uword * spd_index_by_spd_id
u32 ah4_decrypt_node_index
u32 ah6_encrypt_next_index
u32 esp4_no_crypto_tun_feature_index
ipsec_ah_backend_t * ah_backends
u32 esp6_encrypt_tun_feature_index
static_always_inline void vnet_feature_next(u32 *next0, vlib_buffer_t *b0)
u32 esp4_encrypt_next_index
u32 esp4_encrypt_tun_feature_index
vlib_node_registration_t ah6_encrypt_node
(constructor) VLIB_REGISTER_NODE (ah6_encrypt_node)
u32 ah4_encrypt_next_index
uword * sa_index_by_sa_id
u32 esp6_decrypt_next_index
clib_error_t * ipsec_add_del_sa_sess_cb(ipsec_main_t *im, u32 sa_index, u8 is_add)
static_always_inline u32 get_next_output_feature_node_index(vlib_buffer_t *b, vlib_node_runtime_t *nr)
uword * ipsec_if_real_dev_by_show_dev
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 esp6_encrypt_next_index
clib_error_t *(* check_support_cb_t)(ipsec_sa_t *sa)
vnet_crypto_op_id_t op_id
u32 ah4_encrypt_node_index
ipsec_main_integ_alg_t * integ_algs
ipsec_policy_t * policies
u8 * format_ipsec_replay_window(u8 *s, va_list *args)
u32 esp4_decrypt_node_index
vlib_node_registration_t ipsec4_if_input_node
(constructor) VLIB_REGISTER_NODE (ipsec4_if_input_node)
add_del_sa_sess_cb_t add_del_sa_sess_cb
vnet_crypto_op_id_t dec_op_id
u32 ah6_decrypt_node_index
static vlib_main_t * vlib_get_main(void)
struct _vlib_node_registration vlib_node_registration_t
u32 ah6_encrypt_node_index
u32 ah6_decrypt_next_index
check_support_cb_t check_support_cb
VLIB buffer representation.
vlib_node_registration_t ipsec6_if_input_node
(constructor) VLIB_REGISTER_NODE (ipsec6_if_input_node)
u32 esp4_decrypt_next_index
vlib_node_registration_t ah4_decrypt_node
(constructor) VLIB_REGISTER_NODE (ah4_decrypt_node)
u32 esp4_encrypt_tun_feature_index
int ipsec_select_ah_backend(ipsec_main_t *im, u32 ah_backend_idx)
static vlib_node_t * vlib_get_node(vlib_main_t *vm, u32 i)
Get vlib node by index.
clib_error_t * ipsec_rsc_in_use(ipsec_main_t *im)
add_del_sa_sess_cb_t add_del_sa_sess_cb
ipsec_esp_backend_t * esp_backends
u32 esp6_no_crypto_tun_feature_index
uword * tun4_protect_by_key