MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_authenticated_decryption_sessionless

Function test_authenticated_decryption_sessionless

dpdk/app/test/test_cryptodev.c:12598–12696  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12596}
12597
12598static int
12599test_authenticated_decryption_sessionless(
12600 const struct aead_test_data *tdata)
12601{
12602 struct crypto_testsuite_params *ts_params = &testsuite_params;
12603 struct crypto_unittest_params *ut_params = &unittest_params;
12604
12605 int retval;
12606 uint8_t *plaintext;
12607 uint8_t key[tdata->key.len + 1];
12608 struct rte_cryptodev_info dev_info;
12609
12610 rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info);
12611 uint64_t feat_flags = dev_info.feature_flags;
12612
12613 if (!(feat_flags & RTE_CRYPTODEV_FF_SYM_SESSIONLESS)) {
12614 printf("Device doesn't support Sessionless ops.\n");
12615 return TEST_SKIPPED;
12616 }
12617
12618 if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) &&
12619 (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) {
12620 printf("Device doesn't support RAW data-path APIs.\n");
12621 return TEST_SKIPPED;
12622 }
12623
12624 /* not supported with CPU crypto */
12625 if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
12626 return TEST_SKIPPED;
12627
12628 /* Verify the capabilities */
12629 struct rte_cryptodev_sym_capability_idx cap_idx;
12630 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AEAD;
12631 cap_idx.algo.aead = tdata->algo;
12632 if (rte_cryptodev_sym_capability_get(ts_params->valid_devs[0],
12633 &cap_idx) == NULL)
12634 return TEST_SKIPPED;
12635
12636 /* alloc mbuf and set payload */
12637 ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
12638
12639 memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
12640 rte_pktmbuf_tailroom(ut_params->ibuf));
12641
12642 /* Create AEAD operation */
12643 retval = create_aead_operation(RTE_CRYPTO_AEAD_OP_DECRYPT, tdata);
12644 if (retval < 0)
12645 return retval;
12646
12647 /* Create AEAD xform */
12648 memcpy(key, tdata->key.data, tdata->key.len);
12649 retval = create_aead_xform(ut_params->op,
12650 tdata->algo,
12651 RTE_CRYPTO_AEAD_OP_DECRYPT,
12652 key, tdata->key.len,
12653 tdata->aad.len, tdata->auth_tag.len,
12654 tdata->iv.len);
12655 if (retval < 0)

Calls 12

rte_cryptodev_info_getFunction · 0.85
rte_pktmbuf_allocFunction · 0.85
memsetFunction · 0.85
rte_pktmbuf_tailroomFunction · 0.85
create_aead_operationFunction · 0.85
create_aead_xformFunction · 0.85
process_sym_raw_dp_opFunction · 0.85
debug_hexdumpFunction · 0.85
process_crypto_requestFunction · 0.70
printfFunction · 0.50
memcpyFunction · 0.50

Tested by

no test coverage detected