From patchwork Mon May 22 11:56:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 127159 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D7D9742B6F; Mon, 22 May 2023 13:56:39 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF5B640EE7; Mon, 22 May 2023 13:56:39 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 9E44440EE5 for ; Mon, 22 May 2023 13:56:38 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34MBOETw023192; Mon, 22 May 2023 04:56:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=yZ2a2wO06aYzSPs+7IioL62/Ter94lOoGOW7s9d+dUQ=; b=chWfeiH87/rb2E76/ev1mMB44zYJvCIMenD8Lf5XKvrPpZDw+7woBrrW9enqfqbjNkH5 TBQo09zDAl3ZkCAdP9qIMxTj1CPEIb65zLLUpd43xnoZRPFlHxvxACYmS2QeQIJOAb6E DMgMiXarLND88anFFawY7PGrsljvFFq7E9SCYOVU89BQeg6JGhmt7rYgJaSkiPifs3bV gnSpkiQ04fSBise8nl/3/gkaCkV+FBe8PBoFxfvTTRIskhh3PNcutzPVNJNn9T2XNbcd QnWzGUmkxHXNi06gRdnGcJX4ANM84Q9TjbQ9N5pHJK2ARzzmY7xYzuOpXYlv7qliFIBw EA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qpujnea4v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 04:56:37 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 22 May 2023 04:56:36 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 22 May 2023 04:56:36 -0700 Received: from BG-LT92004.corp.innovium.com (unknown [10.28.161.183]) by maili.marvell.com (Postfix) with ESMTP id F0C4F3F708A; Mon, 22 May 2023 04:56:32 -0700 (PDT) From: Anoob Joseph To: Ciara Power , Akhil Goyal , "Fan Zhang" CC: Gagandeep Singh , Hemant Agrawal , Jerin Jacob , Tejasree Kondoj , Vidya Sagar Velumuri , Subject: [PATCH 1/2] cryptodev: update raw datapath API documentation Date: Mon, 22 May 2023 17:26:35 +0530 Message-ID: <20230522115636.309-1-anoobj@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 8_pCRwTFvahtwdgXn0yT1nQ99dZj50xA X-Proofpoint-GUID: 8_pCRwTFvahtwdgXn0yT1nQ99dZj50xA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-22_07,2023-05-22_03,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Clarify the error codes returned by rte_cryptodev_raw_dp_ctx. Cryptodev can return -ENOTSUP to indicate any unsupported features with raw APIs. Remove redundant references about 'rte_cryptodev_raw_attach_session()'. The API is not part of the specification. Signed-off-by: Anoob Joseph Signed-off-by: Vidya Sagar Velumuri Acked-by: Akhil Goyal --- lib/cryptodev/rte_cryptodev.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h index 3a9ad13660..fcc366805f 100644 --- a/lib/cryptodev/rte_cryptodev.h +++ b/lib/cryptodev/rte_cryptodev.h @@ -1519,18 +1519,13 @@ struct rte_crypto_raw_dp_ctx { /** * Configure raw data-path context data. * - * NOTE: - * After the context data is configured, the user should call - * rte_cryptodev_raw_attach_session() before using it in - * rte_cryptodev_raw_enqueue/dequeue function call. - * * @param dev_id The device identifier. * @param qp_id The index of the queue pair from which to * retrieve processed packets. The value must be * in the range [0, nb_queue_pair - 1] previously * supplied to rte_cryptodev_configure(). * @param ctx The raw data-path context data. - * @param sess_type session type. + * @param sess_type Session type. * @param session_ctx Session context data. * @param is_update Set 0 if it is to initialize the ctx. * Set 1 if ctx is initialized and only to update @@ -1538,6 +1533,9 @@ struct rte_crypto_raw_dp_ctx { * @return * - On success return 0. * - On failure return negative integer. + * - -EINVAL if input parameters are invalid. + * - -ENOTSUP if crypto device does not support raw DP operations with the + * provided session. */ __rte_experimental int From patchwork Mon May 22 11:56:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 127160 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D517642B6F; Mon, 22 May 2023 13:56:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C98C642670; Mon, 22 May 2023 13:56:44 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 17760410F2 for ; Mon, 22 May 2023 13:56:42 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34MBOIk7015838; Mon, 22 May 2023 04:56:42 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=46Y7WQqo8uU5lwzrB3C0aae+7YnlBH4cuyOV0aH/eBA=; b=kFTzAmv1MhL1g3vjvP/Lnd4oCr2NtWuhW9+oTM/XEORmq9E231XRFW9cA9+Qed6q9sDN Ikkmn+VYFyigEgElLjPrLRIXSEFw4s62y3hm9Et6ILBqsA1Prd+uHLAHCZeqsyhZHt7f 1vlKSIvV/p9wT9INMK3oE1Elspj0242FTxCdhdOcMcTX6f1VLv9BzlrZ63jgYLHrhAaR D/4NKmxvZd4vdDE7fT0pS/9DKAO1o1IsTMlTZU+BxKUxsJU34vpD4/P4WWc2fLIsoPmp rzS5agMwQCRuiQ/cInxuxu3qApI5FtZPEMKytgGL6B45ancrbxwGsRloAWf0VqbaIthW zg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qpujnea54-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 04:56:41 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Mon, 22 May 2023 04:56:40 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Mon, 22 May 2023 04:56:40 -0700 Received: from BG-LT92004.corp.innovium.com (unknown [10.28.161.183]) by maili.marvell.com (Postfix) with ESMTP id B138B3F7045; Mon, 22 May 2023 04:56:36 -0700 (PDT) From: Anoob Joseph To: Ciara Power , Akhil Goyal , "Fan Zhang" CC: Gagandeep Singh , Hemant Agrawal , Jerin Jacob , Tejasree Kondoj , Vidya Sagar Velumuri , Subject: [PATCH 2/2] test/crypto: handle returns from raw crypto APIs Date: Mon, 22 May 2023 17:26:36 +0530 Message-ID: <20230522115636.309-2-anoobj@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230522115636.309-1-anoobj@marvell.com> References: <20230522115636.309-1-anoobj@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 1ugGdAiPkSJwH-0i9iHkU3IbGlJ3GBLB X-Proofpoint-GUID: 1ugGdAiPkSJwH-0i9iHkU3IbGlJ3GBLB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-22_07,2023-05-22_03,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Raw crypto APIs may return -ENOTSUP when the cryptodev does not support the requested feature. Handle it gracefully so that tests get marked as "SKIPPED" instead of "FAILED". Signed-off-by: Anoob Joseph Acked-by: Akhil Goyal --- app/test/test_cryptodev.c | 449 +++++++++++++++----------- app/test/test_cryptodev.h | 2 +- app/test/test_cryptodev_blockcipher.c | 12 +- 3 files changed, 279 insertions(+), 184 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index f48d837a50..fc82e3c305 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -195,7 +195,7 @@ static struct crypto_testsuite_params testsuite_params = { NULL }; struct crypto_testsuite_params *p_testsuite_params = &testsuite_params; static struct crypto_unittest_params unittest_params; -void +int process_sym_raw_dp_op(uint8_t dev_id, uint16_t qp_id, struct rte_crypto_op *op, uint8_t is_cipher, uint8_t is_auth, uint8_t len_in_bits, uint8_t cipher_iv_len) @@ -221,26 +221,25 @@ process_sym_raw_dp_op(uint8_t dev_id, uint16_t qp_id, int enqueue_status, dequeue_status; struct crypto_unittest_params *ut_params = &unittest_params; int is_sgl = sop->m_src->nb_segs > 1; - int is_oop = 0; + int ret = TEST_SUCCESS, is_oop = 0; ctx_service_size = rte_cryptodev_get_raw_dp_ctx_size(dev_id); - if (ctx_service_size < 0) { - op->status = RTE_CRYPTO_OP_STATUS_ERROR; - return; - } + if (ctx_service_size < 0) + return TEST_SKIPPED; ctx = malloc(ctx_service_size); - if (!ctx) { - op->status = RTE_CRYPTO_OP_STATUS_ERROR; - return; - } + if (ctx == NULL) + return TEST_FAILED; /* Both are enums, setting crypto_sess will suit any session type */ sess.crypto_sess = op->sym->session; - if (rte_cryptodev_configure_raw_dp_ctx(dev_id, qp_id, ctx, - op->sess_type, sess, 0) < 0) { - op->status = RTE_CRYPTO_OP_STATUS_ERROR; + ret = rte_cryptodev_configure_raw_dp_ctx(dev_id, qp_id, ctx, op->sess_type, sess, 0); + if (ret == -ENOTSUP) { + ret = TEST_SKIPPED; + goto exit; + } else if (ret) { + ret = TEST_FAILED; goto exit; } @@ -433,6 +432,7 @@ process_sym_raw_dp_op(uint8_t dev_id, uint16_t qp_id, exit: free(ctx); + return ret; } static void @@ -2340,6 +2340,8 @@ test_AES_CBC_HMAC_SHA512_decrypt_perform(void *sess, const uint8_t *digest, const uint8_t *iv) { + int ret; + /* Generate test mbuf data and digest */ ut_params->ibuf = setup_test_string(ts_params->mbuf_pool, (const char *) @@ -2385,10 +2387,11 @@ test_AES_CBC_HMAC_SHA512_decrypt_perform(void *sess, if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, 0); + if (ret != TEST_SUCCESS) + return ret; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), @@ -3143,10 +3146,12 @@ test_snow3g_authentication(const struct snow3g_hash_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 1, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); ut_params->obuf = ut_params->op->sym->m_src; @@ -3235,10 +3240,12 @@ test_snow3g_authentication_verify(const struct snow3g_hash_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 1, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -3322,10 +3329,12 @@ test_kasumi_authentication(const struct kasumi_hash_test_data *tdata) if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 1, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -3409,10 +3418,12 @@ test_kasumi_authentication_verify(const struct kasumi_hash_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 1, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -3633,10 +3644,12 @@ test_kasumi_encryption(const struct kasumi_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -3732,10 +3745,12 @@ test_kasumi_encryption_sgl(const struct kasumi_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4091,10 +4106,12 @@ test_kasumi_decryption(const struct kasumi_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4183,10 +4200,12 @@ test_snow3g_encryption(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4284,10 +4303,12 @@ test_snow3g_encryption_oop(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4403,10 +4424,12 @@ test_snow3g_encryption_oop_sgl(const struct snow3g_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4534,10 +4557,12 @@ test_snow3g_encryption_offset_oop(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4636,10 +4661,12 @@ static int test_snow3g_decryption(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4736,10 +4763,12 @@ static int test_snow3g_decryption_oop(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4830,10 +4859,12 @@ test_zuc_cipher_auth(const struct wireless_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -4942,10 +4973,12 @@ test_snow3g_cipher_auth(const struct snow3g_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -5092,10 +5125,12 @@ test_snow3g_auth_cipher(const struct snow3g_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -5299,10 +5334,12 @@ test_snow3g_auth_cipher_sgl(const struct snow3g_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -5500,10 +5537,12 @@ test_kasumi_auth_cipher(const struct kasumi_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -5704,10 +5743,12 @@ test_kasumi_auth_cipher_sgl(const struct kasumi_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -5862,10 +5903,12 @@ test_kasumi_cipher_auth(const struct kasumi_test_data *tdata) if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -6031,10 +6074,12 @@ test_zuc_cipher(const struct wireless_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -6166,10 +6211,12 @@ test_zuc_cipher_sgl(const struct wireless_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 0, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 0, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -6284,10 +6331,12 @@ test_zuc_authentication(const struct wireless_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 1, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 1, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf"); @@ -6439,10 +6488,12 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -6642,10 +6693,12 @@ test_zuc_auth_cipher_sgl(const struct wireless_test_data *tdata, if (retval < 0) return retval; - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 1, tdata->cipher_iv.len); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 1, + tdata->cipher_iv.len); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -8876,10 +8929,12 @@ test_authenticated_encryption(const struct aead_test_data *tdata) /* Process crypto operation */ if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_aead_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -9103,8 +9158,10 @@ static int test_pdcp_proto(int i, int oop, enum rte_crypto_cipher_operation opc, /* filling lengths */ ut_params->op->sym->cipher.data.length = ut_params->op->sym->m_src->pkt_len; ut_params->op->sym->auth.data.length = ut_params->op->sym->m_src->pkt_len; - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); + + ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, 0); + if (ret != TEST_SUCCESS) + return ret; } else { ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); } @@ -9384,8 +9441,10 @@ test_pdcp_proto_SGL(int i, int oop, += temp_mbuf->pkt_len; temp_mbuf = temp_mbuf->next; } - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); + + ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, 0); + if (ret != TEST_SUCCESS) + return ret; } else { ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -11580,10 +11639,12 @@ test_authenticated_decryption(const struct aead_test_data *tdata) /* Process crypto operation */ if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_aead_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -11919,10 +11980,12 @@ test_authenticated_encryption_oop(const struct aead_test_data *tdata) ut_params->op->sym->m_dst = ut_params->obuf; /* Process crypto operation */ - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL(process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -12023,10 +12086,12 @@ test_authenticated_decryption_oop(const struct aead_test_data *tdata) ut_params->op->sym->m_dst = ut_params->obuf; /* Process crypto operation */ - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL(process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -12227,10 +12292,12 @@ test_authenticated_decryption_sessionless( "crypto op session type not sessionless"); /* Process crypto operation */ - if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL(process_crypto_request( ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -12596,6 +12663,7 @@ test_MD5_HMAC_generate(const struct HMAC_MD5_vector *test_case) { uint16_t plaintext_pad_len; uint8_t *plaintext, *auth_tag; + int ret; struct crypto_testsuite_params *ts_params = &testsuite_params; struct crypto_unittest_params *ut_params = &unittest_params; @@ -12637,10 +12705,11 @@ test_MD5_HMAC_generate(const struct HMAC_MD5_vector *test_case) if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, 0); + if (ret != TEST_SUCCESS) + return ret; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), @@ -12669,6 +12738,7 @@ static int test_MD5_HMAC_verify(const struct HMAC_MD5_vector *test_case) { uint8_t *plaintext; + int ret; struct crypto_testsuite_params *ts_params = &testsuite_params; struct crypto_unittest_params *ut_params = &unittest_params; @@ -12708,10 +12778,11 @@ test_MD5_HMAC_verify(const struct HMAC_MD5_vector *test_case) if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + ret = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, 0); + if (ret != TEST_SUCCESS) + return ret; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), @@ -13581,10 +13652,12 @@ test_AES_GMAC_authentication(const struct gmac_test_data *tdata) if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -13713,10 +13786,12 @@ test_AES_GMAC_authentication_verify(const struct gmac_test_data *tdata) if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); @@ -14451,10 +14526,12 @@ test_authentication_verify_fail_when_data_corruption( TEST_ASSERT_NOT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS, "authentication not failed"); - } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else { + } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else { ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); } @@ -14538,10 +14615,12 @@ test_authentication_verify_GMAC_fail_when_corruption( TEST_ASSERT_NOT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS, "authentication not failed"); - } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 1, 0, 0); - else { + } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else { ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NULL(ut_params->op, "authentication not failed"); @@ -14629,10 +14708,12 @@ test_authenticated_decryption_fail_when_corruption( TEST_ASSERT_NOT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS, "authentication not failed"); - } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); - else { + } else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else { ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); TEST_ASSERT_NULL(ut_params->op, "authentication not failed"); @@ -14734,10 +14815,12 @@ test_authenticated_encrypt_with_esn( if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request( ts_params->valid_devs[0], ut_params->op); @@ -14864,10 +14947,12 @@ test_authenticated_decrypt_with_esn( if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_crypt_auth_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 1, 1, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 1, 1, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else ut_params->op = process_crypto_request(ts_params->valid_devs[0], ut_params->op); @@ -15222,10 +15307,12 @@ test_authenticated_encryption_SGL(const struct aead_test_data *tdata, if (oop == IN_PLACE && gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO) process_cpu_aead_op(ts_params->valid_devs[0], ut_params->op); - else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) - process_sym_raw_dp_op(ts_params->valid_devs[0], 0, - ut_params->op, 0, 0, 0, 0); - else + else if (global_api_test_type == CRYPTODEV_RAW_API_TEST) { + retval = process_sym_raw_dp_op(ts_params->valid_devs[0], 0, ut_params->op, 0, 0, 0, + 0); + if (retval != TEST_SUCCESS) + return retval; + } else TEST_ASSERT_NOT_NULL( process_crypto_request(ts_params->valid_devs[0], ut_params->op), "failed to process sym crypto op"); diff --git a/app/test/test_cryptodev.h b/app/test/test_cryptodev.h index abd795f54a..f2c417a267 100644 --- a/app/test/test_cryptodev.h +++ b/app/test/test_cryptodev.h @@ -235,7 +235,7 @@ create_segmented_mbuf(struct rte_mempool *mbuf_pool, int pkt_len, return NULL; } -void +int process_sym_raw_dp_op(uint8_t dev_id, uint16_t qp_id, struct rte_crypto_op *op, uint8_t is_cipher, uint8_t is_auth, uint8_t len_in_bits, uint8_t cipher_iv_len); diff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c index 6c9a5964ea..e6469d03b5 100644 --- a/app/test/test_cryptodev_blockcipher.c +++ b/app/test/test_cryptodev_blockcipher.c @@ -555,8 +555,16 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, if (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH) is_auth = 1; - process_sym_raw_dp_op(dev_id, 0, op, is_cipher, is_auth, 0, - tdata->iv.len); + status = process_sym_raw_dp_op(dev_id, 0, op, is_cipher, is_auth, + 0, tdata->iv.len); + if (status != TEST_SUCCESS) { + if (status == TEST_SKIPPED) + snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, "SKIPPED"); + else + snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, "FAILED"); + + goto error_exit; + } } else { if (rte_cryptodev_enqueue_burst(dev_id, 0, &op, 1) != 1) { snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,