key = vnet_crypto_get_key (key_index);
- switch (key->async_alg)
+ switch (key->alg)
{
case VNET_CRYPTO_ALG_AES_128_CBC_SHA1_TAG12:
case VNET_CRYPTO_ALG_AES_192_CBC_SHA1_TAG12:
break;
default:
clib_warning (
- "Cryptodev: Undefined link algo %u specified. Key index %u",
- key->async_alg, key_index);
+ "Cryptodev: Undefined link algo %u specified. Key index %u", key->alg,
+ key_index);
return -1;
}
crypto_key = vnet_crypto_get_key (key->index_crypto);
rv = roc_se_ciph_key_set (&sess->cpt_ctx, enc_type, crypto_key->data,
- vec_len (crypto_key->data));
+ crypto_key->length);
if (rv)
{
clib_warning ("Cryptodev: Error in setting cipher key for enc type %u",
auth_key = vnet_crypto_get_key (key->index_integ);
rv = roc_se_auth_key_set (&sess->cpt_ctx, auth_type, auth_key->data,
- vec_len (auth_key->data), digest_len);
+ auth_key->length, digest_len);
if (rv)
{
clib_warning ("Cryptodev: Error in setting auth key for auth type %u",
u32 digest_len = ~0;
i32 rv = 0;
- switch (key->async_alg)
+ switch (key->alg)
{
case VNET_CRYPTO_ALG_AES_128_GCM:
case VNET_CRYPTO_ALG_AES_192_GCM:
default:
clib_warning (
"Cryptodev: Undefined cipher algo %u specified. Key index %u",
- key->async_alg, key_index);
+ key->alg, key_index);
return -1;
}
oct_crypto_key_t *key;
vlib_buffer_t *buffer;
u16 adj_len;
- int ret;
+ int ret = 0;
/* GCM packets having 8 bytes of aad and 8 bytes of iv */
u8 aad_iv = 8 + 8;
sess = key->sess;
if (PREDICT_FALSE (!sess->initialised))
- oct_crypto_session_init (vm, sess, elts->key_index, type);
+ ret = oct_crypto_session_init (vm, sess, elts->key_index, type);
+ if (ret)
+ {
+ oct_crypto_update_frame_error_status (
+ frame, i, VNET_CRYPTO_OP_STATUS_FAIL_ENGINE_ERR);
+ return -1;
+ }
crypto_dev = sess->crypto_dev;