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

Function test_authenticated_decryption

dpdk/app/test/test_cryptodev.c:11918–12021  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11916}
11917
11918static int
11919test_authenticated_decryption(const struct aead_test_data *tdata)
11920{
11921 struct crypto_testsuite_params *ts_params = &testsuite_params;
11922 struct crypto_unittest_params *ut_params = &unittest_params;
11923
11924 int retval;
11925 uint8_t *plaintext;
11926 uint32_t i;
11927 struct rte_cryptodev_info dev_info;
11928
11929 rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info);
11930 uint64_t feat_flags = dev_info.feature_flags;
11931
11932 if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) &&
11933 (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) {
11934 printf("Device doesn't support RAW data-path APIs.\n");
11935 return TEST_SKIPPED;
11936 }
11937
11938 /* Verify the capabilities */
11939 struct rte_cryptodev_sym_capability_idx cap_idx;
11940 const struct rte_cryptodev_symmetric_capability *capability;
11941 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AEAD;
11942 cap_idx.algo.aead = tdata->algo;
11943 capability = rte_cryptodev_sym_capability_get(
11944 ts_params->valid_devs[0], &cap_idx);
11945 if (capability == NULL)
11946 return TEST_SKIPPED;
11947 if (rte_cryptodev_sym_capability_check_aead(
11948 capability, tdata->key.len, tdata->auth_tag.len,
11949 tdata->aad.len, tdata->iv.len))
11950 return TEST_SKIPPED;
11951
11952 /* Create AEAD session */
11953 retval = create_aead_session(ts_params->valid_devs[0],
11954 tdata->algo,
11955 RTE_CRYPTO_AEAD_OP_DECRYPT,
11956 tdata->key.data, tdata->key.len,
11957 tdata->aad.len, tdata->auth_tag.len,
11958 tdata->iv.len);
11959 if (retval != TEST_SUCCESS)
11960 return retval;
11961
11962 /* alloc mbuf and set payload */
11963 if (tdata->aad.len > MBUF_SIZE) {
11964 ut_params->ibuf = rte_pktmbuf_alloc(ts_params->large_mbuf_pool);
11965 /* Populate full size of add data */
11966 for (i = 32; i < MAX_AAD_LENGTH; i += 32)
11967 memcpy(&tdata->aad.data[i], &tdata->aad.data[0], 32);
11968 } else
11969 ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
11970
11971 memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
11972 rte_pktmbuf_tailroom(ut_params->ibuf));
11973
11974 /* Create AEAD operation */
11975 retval = create_aead_operation(RTE_CRYPTO_AEAD_OP_DECRYPT, tdata);

Calls 15

rte_cryptodev_info_getFunction · 0.85
create_aead_sessionFunction · 0.85
rte_pktmbuf_allocFunction · 0.85
memsetFunction · 0.85
rte_pktmbuf_tailroomFunction · 0.85
create_aead_operationFunction · 0.85
process_cpu_aead_opFunction · 0.85
process_sym_raw_dp_opFunction · 0.85
debug_hexdumpFunction · 0.85

Tested by

no test coverage detected