u32 esp6_decrypt_node_index;
u32 esp6_encrypt_next_index;
u32 esp6_decrypt_next_index;
- u32 esp4_encrypt_tun_feature_index;
- u32 esp6_encrypt_tun_feature_index;
+ u32 esp4_decrypt_tun_node_index;
+ u32 esp4_decrypt_tun_next_index;
+ u32 esp6_decrypt_tun_node_index;
+ u32 esp6_decrypt_tun_next_index;
+ u32 esp44_encrypt_tun_feature_index;
+ u32 esp46_encrypt_tun_feature_index;
+ u32 esp66_encrypt_tun_feature_index;
+ u32 esp64_encrypt_tun_feature_index;
} ipsec_esp_backend_t;
typedef struct
typedef struct
{
+ CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
vnet_crypto_op_t *crypto_ops;
vnet_crypto_op_t *integ_ops;
+ vnet_crypto_op_t *chained_crypto_ops;
+ vnet_crypto_op_t *chained_integ_ops;
+ vnet_crypto_op_chunk_t *chunks;
} ipsec_per_thread_data_t;
typedef struct
u32 error_drop_node_index;
u32 esp4_encrypt_node_index;
u32 esp4_decrypt_node_index;
+ u32 esp4_decrypt_tun_node_index;
u32 ah4_encrypt_node_index;
u32 ah4_decrypt_node_index;
u32 esp6_encrypt_node_index;
u32 esp6_decrypt_node_index;
+ u32 esp6_decrypt_tun_node_index;
u32 ah6_encrypt_node_index;
u32 ah6_decrypt_node_index;
/* next node indices */
u32 esp4_encrypt_next_index;
u32 esp4_decrypt_next_index;
+ u32 esp4_decrypt_tun_next_index;
u32 ah4_encrypt_next_index;
u32 ah4_decrypt_next_index;
u32 esp6_encrypt_next_index;
u32 esp6_decrypt_next_index;
+ u32 esp6_decrypt_tun_next_index;
u32 ah6_encrypt_next_index;
u32 ah6_decrypt_next_index;
/* tun encrypt arcs and feature nodes */
- u32 esp4_encrypt_tun_feature_index;
- u32 esp6_encrypt_tun_feature_index;
+ u32 esp44_encrypt_tun_feature_index;
+ u32 esp64_encrypt_tun_feature_index;
+ u32 esp46_encrypt_tun_feature_index;
+ u32 esp66_encrypt_tun_feature_index;
/* tun nodes to drop packets when no crypto alg set on outbound SA */
u32 esp4_no_crypto_tun_feature_index;
const char *esp4_encrypt_node_name,
const char *esp4_encrypt_tun_node_name,
const char *esp4_decrypt_node_name,
+ const char *esp4_decrypt_tun_node_name,
const char *esp6_encrypt_node_name,
const char *esp6_encrypt_tun_node_name,
const char *esp6_decrypt_node_name,
+ const char *esp6_decrypt_tun_node_name,
check_support_cb_t esp_check_support_cb,
add_del_sa_sess_cb_t esp_add_del_sa_sess_cb);