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

Function test_snow3g_encryption_oop_sgl

dpdk/app/test/test_cryptodev.c:4447–4569  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4445}
4446
4447static int
4448test_snow3g_encryption_oop_sgl(const struct snow3g_test_data *tdata,
4449 uint8_t sgl_in, uint8_t sgl_out)
4450{
4451 struct crypto_testsuite_params *ts_params = &testsuite_params;
4452 struct crypto_unittest_params *ut_params = &unittest_params;
4453
4454 int retval;
4455 unsigned int plaintext_pad_len;
4456 unsigned int plaintext_len;
4457 uint8_t buffer[10000];
4458 const uint8_t *ciphertext;
4459
4460 struct rte_cryptodev_info dev_info;
4461
4462 /* Verify the capabilities */
4463 struct rte_cryptodev_sym_capability_idx cap_idx;
4464 cap_idx.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
4465 cap_idx.algo.cipher = RTE_CRYPTO_CIPHER_SNOW3G_UEA2;
4466 if (rte_cryptodev_sym_capability_get(ts_params->valid_devs[0],
4467 &cap_idx) == NULL)
4468 return TEST_SKIPPED;
4469
4470 if (global_api_test_type == CRYPTODEV_RAW_API_TEST)
4471 return TEST_SKIPPED;
4472
4473 if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
4474 return TEST_SKIPPED;
4475
4476 rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info);
4477
4478 uint64_t feat_flags = dev_info.feature_flags;
4479
4480 if (((sgl_in && sgl_out) && !(feat_flags & RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT))
4481 || ((!sgl_in && sgl_out) &&
4482 !(feat_flags & RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT))
4483 || ((sgl_in && !sgl_out) &&
4484 !(feat_flags & RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT))) {
4485 printf("Device doesn't support out-of-place scatter gather type. "
4486 "Test Skipped.\n");
4487 return TEST_SKIPPED;
4488 }
4489
4490 if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) &&
4491 (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) {
4492 printf("Device does not support RAW data-path APIs.\n");
4493 return -ENOTSUP;
4494 }
4495
4496 /* Create SNOW 3G session */
4497 retval = create_wireless_algo_cipher_session(ts_params->valid_devs[0],
4498 RTE_CRYPTO_CIPHER_OP_ENCRYPT,
4499 RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
4500 tdata->key.data, tdata->key.len,
4501 tdata->cipher_iv.len);
4502 if (retval < 0)
4503 return retval;
4504

Calls 14

rte_cryptodev_info_getFunction · 0.85
ceil_byte_lengthFunction · 0.85
create_segmented_mbufFunction · 0.85
rte_pktmbuf_allocFunction · 0.85
rte_pktmbuf_appendFunction · 0.85
pktmbuf_writeFunction · 0.85
process_sym_raw_dp_opFunction · 0.85
rte_pktmbuf_readFunction · 0.85
debug_hexdumpFunction · 0.85

Tested by

no test coverage detected