/* *INDENT-OFF* */
vec_foreach (dev, dcm->dev)
{
- vec_validate (dcm->data, dev->numa);
+ vec_validate_aligned (dcm->data, dev->numa, CLIB_CACHE_LINE_BYTES);
error = crypto_create_crypto_op_pool (dev->numa);
if (error)
/* *INDENT-ON* */
vec_free (dcm->data);
-
vec_free (dcm->workers_main);
vec_free (dcm->sa_session);
vec_free (dcm->dev);
return 0;
}
- vec_validate_init_empty (dcm->workers_main, n_mains - 1,
- (crypto_worker_main_t) EMPTY_STRUCT);
+ vec_validate_init_empty_aligned (dcm->workers_main, n_mains - 1,
+ (crypto_worker_main_t) EMPTY_STRUCT,
+ CLIB_CACHE_LINE_BYTES);
/* *INDENT-OFF* */
vec_foreach (cwm, dcm->workers_main)
{
+ vec_validate_init_empty_aligned (cwm->ops, VLIB_FRAME_SIZE - 1, 0,
+ CLIB_CACHE_LINE_BYTES);
memset (cwm->cipher_resource_idx, ~0,
IPSEC_CRYPTO_N_ALG * sizeof(*cwm->cipher_resource_idx));
memset (cwm->auth_resource_idx, ~0,
{
u16 *resource_idx;
uword *session_by_drv_id_and_sa_index;
+ struct rte_crypto_op **ops;
u16 cipher_resource_idx[IPSEC_CRYPTO_N_ALG];
u16 auth_resource_idx[IPSEC_INTEG_N_ALG];
- struct rte_crypto_op *ops[VLIB_FRAME_SIZE];
} crypto_worker_main_t __attribute__ ((aligned (CLIB_CACHE_LINE_BYTES)));
typedef struct