| 12381 | } |
| 12382 | |
| 12383 | static int |
| 12384 | test_authenticated_decryption_oop(const struct aead_test_data *tdata) |
| 12385 | { |
| 12386 | struct crypto_testsuite_params *ts_params = &testsuite_params; |
| 12387 | struct crypto_unittest_params *ut_params = &unittest_params; |
| 12388 | |
| 12389 | uint32_t i; |
| 12390 | uint8_t *buffer_oop; |
| 12391 | int retval; |
| 12392 | uint8_t *plaintext; |
| 12393 | struct rte_cryptodev_info dev_info; |
| 12394 | |
| 12395 | rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info); |
| 12396 | uint64_t feat_flags = dev_info.feature_flags; |
| 12397 | |
| 12398 | /* Verify the capabilities */ |
| 12399 | struct rte_cryptodev_sym_capability_idx cap_idx; |
| 12400 | cap_idx.type = RTE_CRYPTO_SYM_XFORM_AEAD; |
| 12401 | cap_idx.algo.aead = tdata->algo; |
| 12402 | if (rte_cryptodev_sym_capability_get(ts_params->valid_devs[0], |
| 12403 | &cap_idx) == NULL) |
| 12404 | return TEST_SKIPPED; |
| 12405 | |
| 12406 | /* not supported with CPU crypto and raw data-path APIs*/ |
| 12407 | if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO || |
| 12408 | global_api_test_type == CRYPTODEV_RAW_API_TEST) |
| 12409 | return TEST_SKIPPED; |
| 12410 | |
| 12411 | if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) && |
| 12412 | (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) { |
| 12413 | printf("Device does not support RAW data-path APIs.\n"); |
| 12414 | return TEST_SKIPPED; |
| 12415 | } |
| 12416 | |
| 12417 | /* Create AEAD session */ |
| 12418 | retval = create_aead_session(ts_params->valid_devs[0], |
| 12419 | tdata->algo, |
| 12420 | RTE_CRYPTO_AEAD_OP_DECRYPT, |
| 12421 | tdata->key.data, tdata->key.len, |
| 12422 | tdata->aad.len, tdata->auth_tag.len, |
| 12423 | tdata->iv.len); |
| 12424 | if (retval < 0) |
| 12425 | return retval; |
| 12426 | |
| 12427 | /* alloc mbuf and set payload */ |
| 12428 | ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool); |
| 12429 | ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool); |
| 12430 | |
| 12431 | memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0, |
| 12432 | rte_pktmbuf_tailroom(ut_params->ibuf)); |
| 12433 | memset(rte_pktmbuf_mtod(ut_params->obuf, uint8_t *), 0, |
| 12434 | rte_pktmbuf_tailroom(ut_params->obuf)); |
| 12435 | |
| 12436 | /* Create AEAD operation */ |
| 12437 | retval = create_aead_operation(RTE_CRYPTO_AEAD_OP_DECRYPT, tdata); |
| 12438 | if (retval < 0) |
| 12439 | return retval; |
| 12440 |
no test coverage detected