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

Function test_authenticated_encryption

dpdk/app/test/test_cryptodev.c:8924–9038  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8922}
8923
8924static int
8925test_authenticated_encryption(const struct aead_test_data *tdata)
8926{
8927 struct crypto_testsuite_params *ts_params = &testsuite_params;
8928 struct crypto_unittest_params *ut_params = &unittest_params;
8929
8930 int retval;
8931 uint8_t *ciphertext, *auth_tag;
8932 uint16_t plaintext_pad_len;
8933 uint32_t i;
8934 struct rte_cryptodev_info dev_info;
8935
8936 rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info);
8937 uint64_t feat_flags = dev_info.feature_flags;
8938
8939 if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) &&
8940 (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) {
8941 printf("Device doesn't support RAW data-path APIs.\n");
8942 return TEST_SKIPPED;
8943 }
8944
8945 /* Verify the capabilities */
8946 struct rte_cryptodev_sym_capability_idx cap_idx;
8947 const struct rte_cryptodev_symmetric_capability *capability;
8948 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AEAD;
8949 cap_idx.algo.aead = tdata->algo;
8950 capability = rte_cryptodev_sym_capability_get(
8951 ts_params->valid_devs[0], &cap_idx);
8952 if (capability == NULL)
8953 return TEST_SKIPPED;
8954 if (rte_cryptodev_sym_capability_check_aead(
8955 capability, tdata->key.len, tdata->auth_tag.len,
8956 tdata->aad.len, tdata->iv.len))
8957 return TEST_SKIPPED;
8958
8959 /* Create AEAD session */
8960 retval = create_aead_session(ts_params->valid_devs[0],
8961 tdata->algo,
8962 RTE_CRYPTO_AEAD_OP_ENCRYPT,
8963 tdata->key.data, tdata->key.len,
8964 tdata->aad.len, tdata->auth_tag.len,
8965 tdata->iv.len);
8966 if (retval != TEST_SUCCESS)
8967 return retval;
8968
8969 if (tdata->aad.len > MBUF_SIZE) {
8970 ut_params->ibuf = rte_pktmbuf_alloc(ts_params->large_mbuf_pool);
8971 /* Populate full size of add data */
8972 for (i = 32; i < MAX_AAD_LENGTH; i += 32)
8973 memcpy(&tdata->aad.data[i], &tdata->aad.data[0], 32);
8974 } else
8975 ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
8976
8977 /* clear mbuf payload */
8978 memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
8979 rte_pktmbuf_tailroom(ut_params->ibuf));
8980
8981 /* Create AEAD operation */

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