};
struct crypto_unittest_params {
- struct rte_cryptodev_asym_session *sess;
+ void *sess;
struct rte_crypto_op *op;
};
static struct crypto_testsuite_params_asym testsuite_params = { NULL };
static int
-queue_ops_rsa_sign_verify(struct rte_cryptodev_asym_session *sess)
+queue_ops_rsa_sign_verify(void *sess)
{
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *op_mpool = ts_params->op_mpool;
}
static int
-queue_ops_rsa_enc_dec(struct rte_cryptodev_asym_session *sess)
+queue_ops_rsa_enc_dec(void *sess)
{
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *op_mpool = ts_params->op_mpool;
struct rte_crypto_op *op = NULL;
struct rte_crypto_op *result_op = NULL;
struct rte_crypto_asym_xform xform_tc;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
struct rte_cryptodev_asym_capability_idx cap_idx;
const struct rte_cryptodev_asymmetric_xform_capability *capability;
uint8_t dev_id = ts_params->valid_devs[0];
uint8_t input[TEST_DATA_SIZE] = {0};
uint8_t *result = NULL;
- int status = TEST_SUCCESS;
+ int ret, status = TEST_SUCCESS;
xform_tc.next = NULL;
xform_tc.xform_type = data_tc->modex.xform_type;
}
if (!sessionless) {
- sess = rte_cryptodev_asym_session_create(ts_params->session_mpool);
- if (!sess) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform_tc,
+ ts_params->session_mpool, &sess);
+ if (ret < 0) {
snprintf(test_msg, ASYM_TEST_MSG_LEN,
"line %u "
"FAILED: %s", __LINE__,
"Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform_tc,
- ts_params->session_mpool) < 0) {
- snprintf(test_msg, ASYM_TEST_MSG_LEN,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
snprintf(test_msg, ASYM_TEST_MSG_LEN, "SESSIONLESS PASS");
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
- if (result != NULL)
- rte_free(result);
+ rte_free(result);
return status;
}
status = test_cryptodev_asym_op(
&testsuite_params,
&tc, test_msg, sessionless, i,
- RTE_RSA_KET_TYPE_QT);
+ RTE_RSA_KEY_TYPE_QT);
}
if (status)
break;
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
uint8_t dev_id = ts_params->valid_devs[0];
- struct rte_cryptodev_asym_session *sess;
+ void *sess = NULL;
struct rte_cryptodev_info dev_info;
- int status = TEST_SUCCESS;
+ int ret, status = TEST_SUCCESS;
/* Test case supports op with exponent key only,
* Check in PMD feature flag for RSA exponent key type support.
return TEST_SKIPPED;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
+ ret = rte_cryptodev_asym_session_create(dev_id, &rsa_xform, sess_mpool, &sess);
- if (!sess) {
+ if (ret < 0) {
RTE_LOG(ERR, USER1, "Session creation failed for "
"sign_verify\n");
- return TEST_FAILED;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &rsa_xform,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1, "Unable to config asym session for "
- "sign_verify\n");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
status = queue_ops_rsa_sign_verify(sess);
error_exit:
-
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
+ rte_cryptodev_asym_session_free(dev_id, sess);
TEST_ASSERT_EQUAL(status, 0, "Test failed");
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
uint8_t dev_id = ts_params->valid_devs[0];
- struct rte_cryptodev_asym_session *sess;
+ void *sess = NULL;
struct rte_cryptodev_info dev_info;
- int status = TEST_SUCCESS;
+ int ret, status = TEST_SUCCESS;
/* Test case supports op with exponent key only,
* Check in PMD feature flag for RSA exponent key type support.
return TEST_SKIPPED;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
+ ret = rte_cryptodev_asym_session_create(dev_id, &rsa_xform, sess_mpool, &sess);
- if (!sess) {
+ if (ret < 0) {
RTE_LOG(ERR, USER1, "Session creation failed for enc_dec\n");
- return TEST_FAILED;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &rsa_xform,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1, "Unable to config asym session for "
- "enc_dec\n");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
error_exit:
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
+ rte_cryptodev_asym_session_free(dev_id, sess);
TEST_ASSERT_EQUAL(status, 0, "Test failed");
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
uint8_t dev_id = ts_params->valid_devs[0];
- struct rte_cryptodev_asym_session *sess;
+ void *sess = NULL;
struct rte_cryptodev_info dev_info;
- int status = TEST_SUCCESS;
+ int ret, status = TEST_SUCCESS;
/* Test case supports op with quintuple format key only,
* Check im PMD feature flag for RSA quintuple key type support.
return TEST_SKIPPED;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
+ ret = rte_cryptodev_asym_session_create(dev_id, &rsa_xform_crt, sess_mpool, &sess);
- if (!sess) {
+ if (ret < 0) {
RTE_LOG(ERR, USER1, "Session creation failed for "
"sign_verify_crt\n");
- status = TEST_FAILED;
- return status;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &rsa_xform_crt,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1, "Unable to config asym session for "
- "sign_verify_crt\n");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
+
status = queue_ops_rsa_sign_verify(sess);
error_exit:
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
+ rte_cryptodev_asym_session_free(dev_id, sess);
TEST_ASSERT_EQUAL(status, 0, "Test failed");
struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
uint8_t dev_id = ts_params->valid_devs[0];
- struct rte_cryptodev_asym_session *sess;
+ void *sess = NULL;
struct rte_cryptodev_info dev_info;
- int status = TEST_SUCCESS;
+ int ret, status = TEST_SUCCESS;
/* Test case supports op with quintuple format key only,
* Check in PMD feature flag for RSA quintuple key type support.
return TEST_SKIPPED;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
+ ret = rte_cryptodev_asym_session_create(dev_id, &rsa_xform_crt, sess_mpool, &sess);
- if (!sess) {
+ if (ret < 0) {
RTE_LOG(ERR, USER1, "Session creation failed for "
"enc_dec_crt\n");
- return TEST_FAILED;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &rsa_xform_crt,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1, "Unable to config asym session for "
- "enc_dec_crt\n");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
+
status = queue_ops_rsa_enc_dec(sess);
error_exit:
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
+ rte_cryptodev_asym_session_free(dev_id, sess);
TEST_ASSERT_EQUAL(status, 0, "Test failed");
test_vector.size = 0;
load_test_vectors();
+ /* Device, op pool and session configuration for asymmetric crypto. 8< */
ts_params->op_mpool = rte_crypto_op_pool_create(
"CRYPTO_ASYM_OP_POOL",
RTE_CRYPTO_OP_TYPE_ASYMMETRIC,
/* configure qp */
ts_params->qp_conf.nb_descriptors = DEFAULT_NUM_OPS_INFLIGHT;
ts_params->qp_conf.mp_session = ts_params->session_mpool;
- ts_params->qp_conf.mp_session_private = ts_params->session_mpool;
for (qp_id = 0; qp_id < info.max_nb_queue_pairs; qp_id++) {
TEST_ASSERT_SUCCESS(rte_cryptodev_queue_pair_setup(
dev_id, qp_id, &ts_params->qp_conf,
qp_id, dev_id);
}
- /* setup asym session pool */
- unsigned int session_size = RTE_MAX(
- rte_cryptodev_asym_get_private_session_size(dev_id),
- rte_cryptodev_asym_get_header_session_size());
- /*
- * Create mempool with TEST_NUM_SESSIONS * 2,
- * to include the session headers
- */
- ts_params->session_mpool = rte_mempool_create(
- "test_asym_sess_mp",
- TEST_NUM_SESSIONS * 2,
- session_size,
- 0, 0, NULL, NULL, NULL,
- NULL, SOCKET_ID_ANY,
- 0);
+ ts_params->session_mpool = rte_cryptodev_asym_session_pool_create(
+ "test_asym_sess_mp", TEST_NUM_SESSIONS, 0, 0,
+ SOCKET_ID_ANY);
TEST_ASSERT_NOT_NULL(ts_params->session_mpool,
"session mempool allocation failed");
-
+ /* >8 End of device, op pool and session configuration for asymmetric crypto section. */
return TEST_SUCCESS;
}
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
- int status = TEST_SUCCESS;
+ void *sess = NULL;
+ int ret, status = TEST_SUCCESS;
uint8_t output[TEST_DH_MOD_LEN];
struct rte_crypto_asym_xform xform = *xfrm;
uint8_t peer[] = "01234567890123456789012345678901234567890123456789";
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
/* set up crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (!op) {
asym_op->dh.shared_secret.data = output;
asym_op->dh.shared_secret.length = sizeof(output);
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ "line %u FAILED: %s", __LINE__,
+ "Session creation failed");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
asym_op->dh.shared_secret.length);
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
return status;
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
- int status = TEST_SUCCESS;
+ void *sess = NULL;
+ int ret, status = TEST_SUCCESS;
uint8_t output[TEST_DH_MOD_LEN];
struct rte_crypto_asym_xform xform = *xfrm;
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
/* set up crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (!op) {
asym_op->dh.priv_key.data = output;
asym_op->dh.priv_key.length = sizeof(output);
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ "line %u FAILED: %s", __LINE__,
+ "Session creation failed");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
- int status = TEST_SUCCESS;
+ void *sess = NULL;
+ int ret, status = TEST_SUCCESS;
uint8_t output[TEST_DH_MOD_LEN];
struct rte_crypto_asym_xform xform = *xfrm;
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
/* set up crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (!op) {
0);
asym_op->dh.priv_key = dh_test_params.priv_key;
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ "line %u FAILED: %s", __LINE__,
+ "Session creation failed");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
asym_op->dh.priv_key.data, asym_op->dh.priv_key.length);
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
- int status = TEST_SUCCESS;
+ void *sess = NULL;
+ int ret, status = TEST_SUCCESS;
uint8_t out_pub_key[TEST_DH_MOD_LEN];
uint8_t out_prv_key[TEST_DH_MOD_LEN];
struct rte_crypto_asym_xform pub_key_xform;
struct rte_crypto_asym_xform xform = *xfrm;
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
-
/* set up crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (!op) {
asym_op->dh.pub_key.length = sizeof(out_pub_key);
asym_op->dh.priv_key.data = out_prv_key;
asym_op->dh.priv_key.length = sizeof(out_prv_key);
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ "line %u FAILED: %s", __LINE__,
+ "Session creation failed");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
out_pub_key, asym_op->dh.pub_key.length);
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
int status = TEST_SUCCESS;
struct rte_cryptodev_asym_capability_idx cap_idx;
const struct rte_cryptodev_asymmetric_xform_capability *capability;
return TEST_SKIPPED;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (!sess) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &modinv_xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1, "line %u "
"FAILED: %s", __LINE__,
"Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &modinv_xform,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
}
error_exit:
- if (sess) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op)
rte_crypto_op_free(op);
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
int status = TEST_SUCCESS;
struct rte_cryptodev_asym_capability_idx cap_idx;
const struct rte_cryptodev_asymmetric_xform_capability *capability;
return TEST_SKIPPED;
}
- /* generate crypto op data structure */
+ /* Create op, create session, and process packets. 8< */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (!op) {
RTE_LOG(ERR, USER1,
goto error_exit;
}
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (!sess) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &modex_xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
"line %u "
"FAILED: %s", __LINE__,
"Session creation failed");
- status = TEST_FAILED;
- goto error_exit;
- }
-
- if (rte_cryptodev_asym_session_init(dev_id, sess, &modex_xform,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
status = TEST_FAILED;
goto error_exit;
}
-
+ /* >8 End of create op, create session, and process packets section. */
ret = verify_modexp(mod_exp, result_op);
if (ret) {
RTE_LOG(ERR, USER1,
}
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_asym_op *asym_op = NULL;
struct rte_crypto_op *op = NULL, *result_op = NULL;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
int status = TEST_SUCCESS;
uint8_t r[TEST_DH_MOD_LEN];
uint8_t s[TEST_DH_MOD_LEN];
uint8_t dgst[] = "35d81554afaad2cf18f3a1770d5fedc4ea5be344";
+ int ret;
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &dsa_xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
"line %u FAILED: %s", __LINE__,
"Session creation failed");
- status = TEST_FAILED;
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto error_exit;
}
/* set up crypto op data structure */
debug_hexdump(stdout, "priv_key: ", dsa_xform.dsa.x.data,
dsa_xform.dsa.x.length);
- if (rte_cryptodev_asym_session_init(dev_id, sess, &dsa_xform,
- sess_mpool) < 0) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s",
- __LINE__, "unabled to config sym session");
- status = TEST_FAILED;
- goto error_exit;
- }
-
/* attach asymmetric crypto session to crypto operations */
rte_crypto_op_attach_asym_session(op, sess);
asym_op->dsa.op_type = RTE_CRYPTO_ASYM_OP_SIGN;
status = TEST_FAILED;
}
error_exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
return status;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
struct rte_mempool *op_mpool = ts_params->op_mpool;
struct crypto_testsuite_ecdsa_params input_params;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_op *result_op = NULL;
uint8_t output_buf_r[TEST_DATA_SIZE];
struct rte_crypto_asym_op *asym_op;
struct rte_cryptodev_info dev_info;
struct rte_crypto_op *op = NULL;
- int status = TEST_SUCCESS, ret;
+ int ret, status = TEST_SUCCESS;
switch (curve_id) {
case SECP192R1:
rte_cryptodev_info_get(dev_id, &dev_info);
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed\n");
- status = TEST_FAILED;
- goto exit;
- }
-
/* Setup crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (op == NULL) {
xform.xform_type = RTE_CRYPTO_ASYM_XFORM_ECDSA;
xform.ec.curve_id = input_params.curve;
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
"line %u FAILED: %s", __LINE__,
- "Unable to config asym session\n");
- status = TEST_FAILED;
+ "Session creation failed\n");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto exit;
}
}
exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
return status;
struct rte_mempool *sess_mpool = ts_params->session_mpool;
struct rte_mempool *op_mpool = ts_params->op_mpool;
struct crypto_testsuite_ecpm_params input_params;
- struct rte_cryptodev_asym_session *sess = NULL;
+ void *sess = NULL;
uint8_t dev_id = ts_params->valid_devs[0];
struct rte_crypto_op *result_op = NULL;
uint8_t output_buf_x[TEST_DATA_SIZE];
struct rte_crypto_asym_op *asym_op;
struct rte_cryptodev_info dev_info;
struct rte_crypto_op *op = NULL;
- int status = TEST_SUCCESS, ret;
+ int ret, status = TEST_SUCCESS;
switch (curve_id) {
case SECP192R1:
rte_cryptodev_info_get(dev_id, &dev_info);
- sess = rte_cryptodev_asym_session_create(sess_mpool);
- if (sess == NULL) {
- RTE_LOG(ERR, USER1,
- "line %u FAILED: %s", __LINE__,
- "Session creation failed\n");
- status = TEST_FAILED;
- goto exit;
- }
-
/* Setup crypto op data structure */
op = rte_crypto_op_alloc(op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC);
if (op == NULL) {
xform.xform_type = RTE_CRYPTO_ASYM_XFORM_ECPM;
xform.ec.curve_id = input_params.curve;
- if (rte_cryptodev_asym_session_init(dev_id, sess, &xform,
- sess_mpool) < 0) {
+ ret = rte_cryptodev_asym_session_create(dev_id, &xform, sess_mpool, &sess);
+ if (ret < 0) {
RTE_LOG(ERR, USER1,
"line %u FAILED: %s", __LINE__,
- "Unable to config asym session\n");
- status = TEST_FAILED;
+ "Session creation failed\n");
+ status = (ret == -ENOTSUP) ? TEST_SKIPPED : TEST_FAILED;
goto exit;
}
}
exit:
- if (sess != NULL) {
- rte_cryptodev_asym_session_clear(dev_id, sess);
- rte_cryptodev_asym_session_free(sess);
- }
+ if (sess != NULL)
+ rte_cryptodev_asym_session_free(dev_id, sess);
if (op != NULL)
rte_crypto_op_free(op);
return status;