@@ -92,13 +92,13 @@ int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa,
params.cipher_alg = cipher_sa->alg.u.cipher;
params.cipher_key.data = cipher_sa->key.data;
params.cipher_key.length = cipher_sa->key.length;
- params.iv.data = entry->state.iv;
- params.iv.length = cipher_sa->iv_len;
+ params.cipher_iv.data = entry->state.iv;
+ params.cipher_iv.length = cipher_sa->iv_len;
mode = cipher_sa->mode;
} else {
params.cipher_alg = ODP_CIPHER_ALG_NULL;
- params.iv.data = NULL;
- params.iv.length = 0;
+ params.cipher_iv.data = NULL;
+ params.cipher_iv.length = 0;
}
/* Auth */
@@ -113,10 +113,10 @@ int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa,
}
/* Generate an IV */
- if (params.iv.length) {
- int32_t size = params.iv.length;
+ if (params.cipher_iv.length) {
+ int32_t size = params.cipher_iv.length;
- int32_t ret = odp_random_data(params.iv.data, size, 1);
+ int32_t ret = odp_random_data(params.cipher_iv.data, size, 1);
if (ret != size)
return -1;
}
@@ -313,7 +313,13 @@ typedef struct odp_crypto_session_param_t {
odp_crypto_key_t cipher_key;
/** Cipher Initialization Vector (IV) */
- odp_crypto_iv_t iv;
+ union {
+ /** @deprecated Use cipher_iv */
+ odp_crypto_iv_t ODP_DEPRECATE(iv);
+
+ /** Cipher Initialization Vector (IV) */
+ odp_crypto_iv_t cipher_iv;
+ };
/** Authentication algorithm
*
@@ -436,7 +436,7 @@ odp_crypto_alg_err_t cipher_encrypt(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -467,7 +467,7 @@ odp_crypto_alg_err_t cipher_decrypt(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -496,8 +496,8 @@ static int process_cipher_param(odp_crypto_generic_session_t *session,
return -1;
/* Verify IV len is correct */
- if (!((0 == session->p.iv.length) ||
- ((uint32_t)EVP_CIPHER_iv_length(cipher) == session->p.iv.length)))
+ if (!((0 == session->p.cipher_iv.length) ||
+ ((uint32_t)EVP_CIPHER_iv_length(cipher) == session->p.cipher_iv.length)))
return -1;
session->cipher.evp_cipher = cipher;
@@ -529,7 +529,7 @@ odp_crypto_alg_err_t aes_gcm_encrypt(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -539,7 +539,7 @@ odp_crypto_alg_err_t aes_gcm_encrypt(odp_packet_t pkt,
EVP_EncryptInit_ex(ctx, session->cipher.evp_cipher, NULL,
session->cipher.key_data, NULL);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
- session->p.iv.length, NULL);
+ session->p.cipher_iv.length, NULL);
EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
EVP_CIPHER_CTX_set_padding(ctx, 0);
@@ -576,7 +576,7 @@ odp_crypto_alg_err_t aes_gcm_decrypt(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -586,7 +586,7 @@ odp_crypto_alg_err_t aes_gcm_decrypt(odp_packet_t pkt,
EVP_DecryptInit_ex(ctx, session->cipher.evp_cipher, NULL,
session->cipher.key_data, NULL);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
- session->p.iv.length, NULL);
+ session->p.cipher_iv.length, NULL);
EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
EVP_CIPHER_CTX_set_padding(ctx, 0);
@@ -642,7 +642,7 @@ odp_crypto_alg_err_t aes_gmac_gen(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -652,7 +652,7 @@ odp_crypto_alg_err_t aes_gmac_gen(odp_packet_t pkt,
EVP_EncryptInit_ex(ctx, session->auth.evp_cipher, NULL,
session->auth.key, NULL);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
- session->p.iv.length, NULL);
+ session->p.cipher_iv.length, NULL);
EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
EVP_CIPHER_CTX_set_padding(ctx, 0);
@@ -681,7 +681,7 @@ odp_crypto_alg_err_t aes_gmac_check(odp_packet_t pkt,
if (param->override_iv_ptr)
iv_ptr = param->override_iv_ptr;
- else if (session->p.iv.data)
+ else if (session->p.cipher_iv.data)
iv_ptr = session->cipher.iv_data;
else
return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -691,7 +691,7 @@ odp_crypto_alg_err_t aes_gmac_check(odp_packet_t pkt,
EVP_DecryptInit_ex(ctx, session->auth.evp_cipher, NULL,
session->auth.key, NULL);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
- session->p.iv.length, NULL);
+ session->p.cipher_iv.length, NULL);
EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
EVP_CIPHER_CTX_set_padding(ctx, 0);
@@ -902,16 +902,16 @@ odp_crypto_session_create(odp_crypto_session_param_t *param,
/* Copy parameters */
session->p = *param;
- if (session->p.iv.length > EVP_MAX_IV_LENGTH) {
+ if (session->p.cipher_iv.length > EVP_MAX_IV_LENGTH) {
ODP_DBG("Maximum IV length exceeded\n");
*status = ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER;
goto err;
}
/* Copy IV data */
- if (session->p.iv.data)
- memcpy(session->cipher.iv_data, session->p.iv.data,
- session->p.iv.length);
+ if (session->p.cipher_iv.data)
+ memcpy(session->cipher.iv_data, session->p.cipher_iv.data,
+ session->p.cipher_iv.length);
/* Derive order */
if (ODP_CRYPTO_OP_ENCODE == param->op)
@@ -351,13 +351,13 @@ odp_ipsec_sa_t odp_ipsec_sa_create(const odp_ipsec_sa_param_t *param)
crypto_param.auth_alg = param->crypto.auth_alg;
crypto_param.auth_key = param->crypto.auth_key;
- crypto_param.iv.length =
+ crypto_param.cipher_iv.length =
_odp_ipsec_cipher_iv_len(crypto_param.cipher_alg);
crypto_param.auth_digest_len =
_odp_ipsec_auth_digest_len(crypto_param.auth_alg);
- if ((uint32_t)-1 == crypto_param.iv.length ||
+ if ((uint32_t)-1 == crypto_param.cipher_iv.length ||
(uint32_t)-1 == crypto_param.auth_digest_len)
goto error;
@@ -409,7 +409,7 @@ odp_ipsec_sa_t odp_ipsec_sa_create(const odp_ipsec_sa_param_t *param)
ipsec_sa->use_counter_iv = 1;
ipsec_sa->esp_iv_len = 8;
ipsec_sa->esp_block_len = 16;
- crypto_param.iv.length = 12;
+ crypto_param.cipher_iv.length = 12;
break;
default:
break;
@@ -187,7 +187,7 @@ static crypto_alg_config_t algs_config[] = {
.data = test_key24,
.length = sizeof(test_key24)
},
- .iv = {
+ .cipher_iv = {
.data = test_iv,
.length = 8,
},
@@ -202,7 +202,7 @@ static crypto_alg_config_t algs_config[] = {
.data = test_key24,
.length = sizeof(test_key24)
},
- .iv = {
+ .cipher_iv = {
.data = test_iv,
.length = 8,
},
@@ -438,7 +438,7 @@ static void alg_test(odp_crypto_op_t op,
ses_params.compl_queue = suite_context.queue;
ses_params.output_pool = suite_context.pool;
ses_params.cipher_key = cipher_key;
- ses_params.iv = iv;
+ ses_params.cipher_iv = iv;
ses_params.auth_key = auth_key;
ses_params.auth_digest_len = ref->digest_length;
ses_params.auth_aad_len = ref->aad_length;