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

Function test_MD5_HMAC_verify

dpdk/app/test/test_cryptodev.c:13107–13165  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13105}
13106
13107static int
13108test_MD5_HMAC_verify(const struct HMAC_MD5_vector *test_case)
13109{
13110 uint8_t *plaintext;
13111 int ret;
13112
13113 struct crypto_testsuite_params *ts_params = &testsuite_params;
13114 struct crypto_unittest_params *ut_params = &unittest_params;
13115 struct rte_cryptodev_info dev_info;
13116
13117 rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info);
13118 uint64_t feat_flags = dev_info.feature_flags;
13119
13120 if ((global_api_test_type == CRYPTODEV_RAW_API_TEST) &&
13121 (!(feat_flags & RTE_CRYPTODEV_FF_SYM_RAW_DP))) {
13122 printf("Device doesn't support RAW data-path APIs.\n");
13123 return TEST_SKIPPED;
13124 }
13125
13126 /* Verify the capabilities */
13127 struct rte_cryptodev_sym_capability_idx cap_idx;
13128 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AUTH;
13129 cap_idx.algo.auth = RTE_CRYPTO_AUTH_MD5_HMAC;
13130 if (rte_cryptodev_sym_capability_get(ts_params->valid_devs[0],
13131 &cap_idx) == NULL)
13132 return TEST_SKIPPED;
13133
13134 if (MD5_HMAC_create_session(ts_params, ut_params,
13135 RTE_CRYPTO_AUTH_OP_VERIFY, test_case)) {
13136 return TEST_FAILED;
13137 }
13138
13139 /* Generate Crypto op data structure */
13140 ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
13141 RTE_CRYPTO_OP_TYPE_SYMMETRIC);
13142 TEST_ASSERT_NOT_NULL(ut_params->op,
13143 "Failed to allocate symmetric crypto operation struct");
13144
13145 if (MD5_HMAC_create_op(ut_params, test_case, &plaintext))
13146 return TEST_FAILED;
13147
13148 if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
13149 process_cpu_crypt_auth_op(ts_params->valid_devs[0],
13150 ut_params->op);
13151 else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) {
13152 ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, 0);
13153 if (ret != TEST_SUCCESS)
13154 return ret;
13155 } else
13156 TEST_ASSERT_NOT_NULL(
13157 process_crypto_request(ts_params->valid_devs[0],
13158 ut_params->op),
13159 "failed to process sym crypto op");
13160
13161 TEST_ASSERT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS,
13162 "HMAC_MD5 crypto op processing failed");
13163
13164 return TEST_SUCCESS;

Callers 2

Calls 9

rte_cryptodev_info_getFunction · 0.85
MD5_HMAC_create_sessionFunction · 0.85
rte_crypto_op_allocFunction · 0.85
MD5_HMAC_create_opFunction · 0.85
process_sym_raw_dp_opFunction · 0.85
process_crypto_requestFunction · 0.70
printfFunction · 0.50

Tested by

no test coverage detected