From patchwork Mon Dec 25 17:00:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 122699 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp62739qgn; Mon, 25 Dec 2017 09:03:41 -0800 (PST) X-Google-Smtp-Source: ACJfBovVpiKCgsk92avR3ZhhRqjc8gLRfnjvZHdaiqNw63Tcv81MHysjXiZflTdhhIQxwyxxsadc X-Received: by 10.200.46.233 with SMTP id i38mr13132548qta.109.1514221421528; Mon, 25 Dec 2017 09:03:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514221421; cv=none; d=google.com; s=arc-20160816; b=K/7ChBvGUt+q5YPG5txTSn1cxVi2zPaCeNe+iN976+Dx28T4Ans2vmpG22vb3VaaxK t0axR+gjplCBI3ilOeYOL/cVeyo4jH+GOul7IvMmgj7AdpSG3XzTIt4YoRNtwo3hHQUw fknvT4UZcT2LtJM8wVp8lGTCB9r1uE2NxyxLu9W6gm8WyxzIMVQ3a3d8vIrmGL92lezv ysN4mgUNbFzsHOSsE0lhLN9KEnEdJvs3/6zT6gYhkNnu4yfgLeb8XoqqZTdUSI/Lo06z GwrPyZSLLZCll0uxo1T0FwHepbcvtdpb4RQuxnYHvr2gLIW/+T5h0WP/2bQCFMejMJHP +F4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=8fFKjgL3SyN5g9tU4G6p64mKYaOPNgVEiYzlufvR8pI=; b=a/HOlk5qe50HMqSKYDmq+MU4uJvJfplR4o20FcHkfEr8fsg2yqYtu9DUyFscP799Q4 UcX4mTrNYTJ806NwcQzT45ebmLkqESJXNAtgGbtil8n67Gb07HrDoWJssH+vPLxxY/HI kz3BIlJg7OmxPUVnBXlWF7gCMU3/FMiPbTaFLkQG69x5yAMKTopEPc58zGZpcKJznf8o 8+AWPq/4Q22H2A5wEjAf9J/sNTj7+WyyHnEP+uQmeALvOm15YBtxBHJkguq2C/x8gGmq zv0c9YUZbzb/C07Eqb966PANtImXlB+9I7U4jScMiOyFnTkGQJxJzyCF+FeLCKHjA5I9 42Uw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id n65si3309283qkd.365.2017.12.25.09.03.41; Mon, 25 Dec 2017 09:03:41 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 2FD8E6096F; Mon, 25 Dec 2017 17:03:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 5B0E16090D; Mon, 25 Dec 2017 17:00:49 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 3C6BF6085F; Mon, 25 Dec 2017 17:00:27 +0000 (UTC) Received: from forward101p.mail.yandex.net (forward101p.mail.yandex.net [77.88.28.101]) by lists.linaro.org (Postfix) with ESMTPS id 2F1EA6038C for ; Mon, 25 Dec 2017 17:00:16 +0000 (UTC) Received: from mxback8o.mail.yandex.net (mxback8o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::22]) by forward101p.mail.yandex.net (Yandex) with ESMTP id 4ACBA6A820BE for ; Mon, 25 Dec 2017 20:00:14 +0300 (MSK) Received: from smtp3o.mail.yandex.net (smtp3o.mail.yandex.net [2a02:6b8:0:1a2d::27]) by mxback8o.mail.yandex.net (nwsmtp/Yandex) with ESMTP id hjC4W205GO-0EOS1aob; Mon, 25 Dec 2017 20:00:14 +0300 Received: by smtp3o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id eIe5mGadxk-0DtCMvSQ; Mon, 25 Dec 2017 20:00:13 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Mon, 25 Dec 2017 20:00:08 +0300 Message-Id: <1514221211-7675-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1514221211-7675-1-git-send-email-odpbot@yandex.ru> References: <1514221211-7675-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 367 Subject: [lng-odp] [PATCH API-NEXT v1 1/4] validation: crypto: print untested capabilities X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov Print all capability variants that were not covered by reference tests. Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 367 (lumag:crypto-untested) ** https://github.com/Linaro/odp/pull/367 ** Patch: https://github.com/Linaro/odp/pull/367.patch ** Base sha: a5f07dbf95f982b7c5898434e56164ff976c0a0f ** Merge commit sha: 0f2debefe973066bf83f4d93a551f16f758b0c14 **/ test/validation/api/crypto/odp_crypto_test_inp.c | 712 ++++++++++------------- 1 file changed, 317 insertions(+), 395 deletions(-) diff --git a/test/validation/api/crypto/odp_crypto_test_inp.c b/test/validation/api/crypto/odp_crypto_test_inp.c index f1da6989c..48a1c3a5c 100644 --- a/test/validation/api/crypto/odp_crypto_test_inp.c +++ b/test/validation/api/crypto/odp_crypto_test_inp.c @@ -299,14 +299,11 @@ static void alg_test(odp_crypto_op_t op, odp_bool_t ovr_iv) { odp_crypto_session_t session; - odp_crypto_capability_t capa; int rc; odp_crypto_ses_create_err_t status; odp_bool_t ok = false; int iteration; odp_crypto_session_param_t ses_params; - odp_crypto_cipher_capability_t cipher_capa[MAX_ALG_CAPA]; - odp_crypto_auth_capability_t auth_capa[MAX_ALG_CAPA]; odp_packet_data_range_t cipher_range; odp_packet_data_range_t auth_range; odp_crypto_key_t cipher_key = { @@ -321,111 +318,6 @@ static void alg_test(odp_crypto_op_t op, .data = ovr_iv ? NULL : ref->iv, .length = ref->iv_length }; - int num, i; - int found; - - rc = odp_crypto_capability(&capa); - CU_ASSERT(!rc); - - if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && - !(capa.ciphers.bit.trides_cbc)) - rc = -1; - if (cipher_alg == ODP_CIPHER_ALG_AES_CBC && - !(capa.ciphers.bit.aes_cbc)) - rc = -1; - if (cipher_alg == ODP_CIPHER_ALG_AES_CTR && - !(capa.ciphers.bit.aes_ctr)) - rc = -1; - if (cipher_alg == ODP_CIPHER_ALG_AES_GCM && - !(capa.ciphers.bit.aes_gcm)) - rc = -1; - if (cipher_alg == ODP_CIPHER_ALG_DES && - !(capa.ciphers.bit.des)) - rc = -1; - if (cipher_alg == ODP_CIPHER_ALG_NULL && - !(capa.ciphers.bit.null)) - rc = -1; - - CU_ASSERT(!rc); - CU_ASSERT((~capa.ciphers.all_bits & capa.hw_ciphers.all_bits) == 0); - - if (auth_alg == ODP_AUTH_ALG_AES_GCM && - !(capa.auths.bit.aes_gcm)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_AES_GMAC && - !(capa.auths.bit.aes_gmac)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_MD5_HMAC && - !(capa.auths.bit.md5_hmac)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_NULL && - !(capa.auths.bit.null)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_SHA1_HMAC && - !(capa.auths.bit.sha1_hmac)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_SHA256_HMAC && - !(capa.auths.bit.sha256_hmac)) - rc = -1; - if (auth_alg == ODP_AUTH_ALG_SHA512_HMAC && - !(capa.auths.bit.sha512_hmac)) - rc = -1; - - CU_ASSERT(!rc); - CU_ASSERT((~capa.auths.all_bits & capa.hw_auths.all_bits) == 0); - - num = odp_crypto_cipher_capability(cipher_alg, cipher_capa, - MAX_ALG_CAPA); - - CU_ASSERT(num > 0); - found = 0; - - CU_ASSERT(num <= MAX_ALG_CAPA); - - if (num > MAX_ALG_CAPA) - num = MAX_ALG_CAPA; - - /* Search for the test case */ - for (i = 0; i < num; i++) { - if (cipher_capa[i].key_len == cipher_key.length && - cipher_capa[i].iv_len == iv.length) { - found = 1; - break; - } - } - - if (!found) { - printf("\n Unsupported: alg=%s, key_len=%" PRIu32 ", " - "iv_len=%" PRIu32 "\n", cipher_alg_name(cipher_alg), - cipher_key.length, iv.length); - return; - } - - num = odp_crypto_auth_capability(auth_alg, auth_capa, MAX_ALG_CAPA); - - CU_ASSERT(num > 0); - found = 0; - - CU_ASSERT(num <= MAX_ALG_CAPA); - - if (num > MAX_ALG_CAPA) - num = MAX_ALG_CAPA; - - /* Search for the test case */ - for (i = 0; i < num; i++) { - if (auth_capa[i].digest_len == ref->digest_length && - auth_capa[i].key_len == auth_key.length) { - found = 1; - break; - } - } - - if (!found) { - printf("\n Unsupported: alg=%s, key_len=%" PRIu32 ", " - "digest_len=%" PRIu32 "\n", auth_alg_name(auth_alg), - auth_key.length, ref->digest_length); - return; - } /* Create a crypto session */ odp_crypto_session_param_init(&ses_params); @@ -529,6 +421,154 @@ static void alg_test(odp_crypto_op_t op, odp_packet_free(pkt); } +static void check_alg(odp_crypto_op_t op, + odp_cipher_alg_t cipher_alg, + odp_auth_alg_t auth_alg, + crypto_test_reference_t *ref, + size_t count, + odp_bool_t ovr_iv) +{ + odp_crypto_capability_t capa; + odp_crypto_cipher_capability_t cipher_capa[MAX_ALG_CAPA]; + odp_crypto_auth_capability_t auth_capa[MAX_ALG_CAPA]; + int rc, cipher_num, auth_num, i; + odp_bool_t cipher_tested[MAX_ALG_CAPA]; + odp_bool_t auth_tested[MAX_ALG_CAPA]; + size_t idx; + + rc = odp_crypto_capability(&capa); + CU_ASSERT(!rc); + + if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && + !(capa.ciphers.bit.trides_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES_CBC && + !(capa.ciphers.bit.aes_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES_CTR && + !(capa.ciphers.bit.aes_ctr)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES_GCM && + !(capa.ciphers.bit.aes_gcm)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_DES && + !(capa.ciphers.bit.des)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_NULL && + !(capa.ciphers.bit.null)) + rc = -1; + + CU_ASSERT(!rc); + CU_ASSERT((~capa.ciphers.all_bits & capa.hw_ciphers.all_bits) == 0); + + if (auth_alg == ODP_AUTH_ALG_AES_GCM && + !(capa.auths.bit.aes_gcm)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_AES_GMAC && + !(capa.auths.bit.aes_gmac)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_MD5_HMAC && + !(capa.auths.bit.md5_hmac)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_NULL && + !(capa.auths.bit.null)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_SHA1_HMAC && + !(capa.auths.bit.sha1_hmac)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_SHA256_HMAC && + !(capa.auths.bit.sha256_hmac)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_SHA512_HMAC && + !(capa.auths.bit.sha512_hmac)) + rc = -1; + + CU_ASSERT(!rc); + CU_ASSERT((~capa.auths.all_bits & capa.hw_auths.all_bits) == 0); + + cipher_num = odp_crypto_cipher_capability(cipher_alg, cipher_capa, + MAX_ALG_CAPA); + + CU_ASSERT(cipher_num > 0); + CU_ASSERT(cipher_num <= MAX_ALG_CAPA); + if (cipher_num > MAX_ALG_CAPA) + cipher_num = MAX_ALG_CAPA; + + auth_num = odp_crypto_auth_capability(auth_alg, auth_capa, + MAX_ALG_CAPA); + + CU_ASSERT(auth_num > 0); + CU_ASSERT(auth_num <= MAX_ALG_CAPA); + if (auth_num > MAX_ALG_CAPA) + auth_num = MAX_ALG_CAPA; + + memset(cipher_tested, 0, sizeof(cipher_tested)); + memset(auth_tested, 0, sizeof(auth_tested)); + + for (idx = 0; idx < count; idx++) { + int cipher_idx = -1, auth_idx = -1; + + for (i = 0; i < cipher_num; i++) { + if (cipher_capa[i].key_len == + ref[idx].cipher_key_length && + cipher_capa[i].iv_len == + ref[idx].iv_length) { + cipher_idx = i; + break; + } + } + + if (cipher_idx < 0) { + printf("\n Unsupported: alg=%s, key_len=%" PRIu32 + ", iv_len=%" PRIu32 "\n", + cipher_alg_name(cipher_alg), + ref[idx].cipher_key_length, + ref[idx].iv_length); + continue; + } + + for (i = 0; i < auth_num; i++) { + if (auth_capa[i].digest_len == + ref[idx].digest_length && + auth_capa[i].key_len == + ref[idx].auth_key_length) { + auth_idx = i; + break; + } + } + + if (auth_idx < 0) { + printf("\n Unsupported: alg=%s, key_len=%" PRIu32 + ", digest_len=%" PRIu32 "\n", + auth_alg_name(auth_alg), + ref[idx].auth_key_length, + ref[idx].digest_length); + continue; + } + + alg_test(op, cipher_alg, auth_alg, &ref[idx], ovr_iv); + + cipher_tested[cipher_idx] = true; + auth_tested[auth_idx] = true; + } + + for (i = 0; i < cipher_num; i++) + if (!cipher_tested[i]) + printf("\n Untested: alg=%s, key_len=%" PRIu32 ", " + "iv_len=%" PRIu32 "\n", + cipher_alg_name(cipher_alg), + cipher_capa[i].key_len, + cipher_capa[i].iv_len); + + for (i = 0; i < auth_num; i++) + if (!auth_tested[i]) + printf("\n Untested: alg=%s, key_len=%" PRIu32 ", " + "digest_len=%" PRIu32 "\n", + auth_alg_name(auth_alg), + auth_capa[i].key_len, + auth_capa[i].digest_len); +} + /** * Check if given cipher and authentication algorithms are supported * @@ -628,32 +668,25 @@ static int check_alg_null(void) return check_alg_support(ODP_CIPHER_ALG_NULL, ODP_AUTH_ALG_NULL); } +#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) void crypto_test_enc_alg_null(void) { - unsigned int test_vec_num = (sizeof(null_reference) / - sizeof(null_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_NULL, - &null_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_NULL, + null_reference, + ARRAY_SIZE(null_reference), + false); } void crypto_test_dec_alg_null(void) { - unsigned int test_vec_num = (sizeof(null_reference) / - sizeof(null_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_NULL, - &null_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_NULL, + null_reference, + ARRAY_SIZE(null_reference), + false); } static int check_alg_3des_cbc(void) @@ -667,16 +700,12 @@ static int check_alg_3des_cbc(void) * packet buffer as completion event buffer.*/ void crypto_test_enc_alg_3des_cbc(void) { - unsigned int test_vec_num = (sizeof(tdes_cbc_reference) / - sizeof(tdes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_3DES_CBC, - ODP_AUTH_ALG_NULL, - &tdes_cbc_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_3DES_CBC, + ODP_AUTH_ALG_NULL, + tdes_cbc_reference, + ARRAY_SIZE(tdes_cbc_reference), + false); } /* This test verifies the correctness of encode (plaintext -> ciphertext) @@ -684,16 +713,12 @@ void crypto_test_enc_alg_3des_cbc(void) * */ void crypto_test_enc_alg_3des_cbc_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(tdes_cbc_reference) / - sizeof(tdes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_3DES_CBC, - ODP_AUTH_ALG_NULL, - &tdes_cbc_reference[i], - true); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_3DES_CBC, + ODP_AUTH_ALG_NULL, + tdes_cbc_reference, + ARRAY_SIZE(tdes_cbc_reference), + true); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -703,16 +728,12 @@ void crypto_test_enc_alg_3des_cbc_ovr_iv(void) * */ void crypto_test_dec_alg_3des_cbc(void) { - unsigned int test_vec_num = (sizeof(tdes_cbc_reference) / - sizeof(tdes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_3DES_CBC, - ODP_AUTH_ALG_NULL, - &tdes_cbc_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_3DES_CBC, + ODP_AUTH_ALG_NULL, + tdes_cbc_reference, + ARRAY_SIZE(tdes_cbc_reference), + false); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -722,16 +743,12 @@ void crypto_test_dec_alg_3des_cbc(void) * */ void crypto_test_dec_alg_3des_cbc_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(tdes_cbc_reference) / - sizeof(tdes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_3DES_CBC, - ODP_AUTH_ALG_NULL, - &tdes_cbc_reference[i], - true); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_3DES_CBC, + ODP_AUTH_ALG_NULL, + tdes_cbc_reference, + ARRAY_SIZE(tdes_cbc_reference), + true); } static int check_alg_aes_gcm(void) @@ -745,17 +762,12 @@ static int check_alg_aes_gcm(void) * packet buffer as completion event buffer.*/ void crypto_test_enc_alg_aes_gcm(void) { - unsigned int test_vec_num = (sizeof(aes_gcm_reference) / - sizeof(aes_gcm_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_GCM, - ODP_AUTH_ALG_AES_GCM, - &aes_gcm_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_GCM, + ODP_AUTH_ALG_AES_GCM, + aes_gcm_reference, + ARRAY_SIZE(aes_gcm_reference), + false); } /* This test verifies the correctness of encode (plaintext -> ciphertext) @@ -764,17 +776,12 @@ void crypto_test_enc_alg_aes_gcm(void) * packet buffer as completion event buffer.*/ void crypto_test_enc_alg_aes_gcm_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_gcm_reference) / - sizeof(aes_gcm_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_GCM, - ODP_AUTH_ALG_AES_GCM, - &aes_gcm_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_GCM, + ODP_AUTH_ALG_AES_GCM, + aes_gcm_reference, + ARRAY_SIZE(aes_gcm_reference), + true); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -784,17 +791,12 @@ void crypto_test_enc_alg_aes_gcm_ovr_iv(void) * */ void crypto_test_dec_alg_aes_gcm(void) { - unsigned int test_vec_num = (sizeof(aes_gcm_reference) / - sizeof(aes_gcm_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_GCM, - ODP_AUTH_ALG_AES_GCM, - &aes_gcm_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_GCM, + ODP_AUTH_ALG_AES_GCM, + aes_gcm_reference, + ARRAY_SIZE(aes_gcm_reference), + false); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -804,17 +806,12 @@ void crypto_test_dec_alg_aes_gcm(void) * */ void crypto_test_dec_alg_aes_gcm_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_gcm_reference) / - sizeof(aes_gcm_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_GCM, - ODP_AUTH_ALG_AES_GCM, - &aes_gcm_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_GCM, + ODP_AUTH_ALG_AES_GCM, + aes_gcm_reference, + ARRAY_SIZE(aes_gcm_reference), + true); } static int check_alg_aes_cbc(void) @@ -828,17 +825,12 @@ static int check_alg_aes_cbc(void) * packet buffer as completion event buffer.*/ void crypto_test_enc_alg_aes_cbc(void) { - unsigned int test_vec_num = (sizeof(aes_cbc_reference) / - sizeof(aes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_CBC, - ODP_AUTH_ALG_NULL, - &aes_cbc_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_CBC, + ODP_AUTH_ALG_NULL, + aes_cbc_reference, + ARRAY_SIZE(aes_cbc_reference), + false); } /* This test verifies the correctness of encode (plaintext -> ciphertext) @@ -846,17 +838,12 @@ void crypto_test_enc_alg_aes_cbc(void) * */ void crypto_test_enc_alg_aes_cbc_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_cbc_reference) / - sizeof(aes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_CBC, - ODP_AUTH_ALG_NULL, - &aes_cbc_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_CBC, + ODP_AUTH_ALG_NULL, + aes_cbc_reference, + ARRAY_SIZE(aes_cbc_reference), + true); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -866,17 +853,12 @@ void crypto_test_enc_alg_aes_cbc_ovr_iv(void) * */ void crypto_test_dec_alg_aes_cbc(void) { - unsigned int test_vec_num = (sizeof(aes_cbc_reference) / - sizeof(aes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_CBC, - ODP_AUTH_ALG_NULL, - &aes_cbc_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_CBC, + ODP_AUTH_ALG_NULL, + aes_cbc_reference, + ARRAY_SIZE(aes_cbc_reference), + false); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -886,17 +868,12 @@ void crypto_test_dec_alg_aes_cbc(void) * */ void crypto_test_dec_alg_aes_cbc_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_cbc_reference) / - sizeof(aes_cbc_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_CBC, - ODP_AUTH_ALG_NULL, - &aes_cbc_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_CBC, + ODP_AUTH_ALG_NULL, + aes_cbc_reference, + ARRAY_SIZE(aes_cbc_reference), + true); } static int check_alg_aes_ctr(void) @@ -910,17 +887,12 @@ static int check_alg_aes_ctr(void) * packet buffer as completion event buffer.*/ void crypto_test_enc_alg_aes_ctr(void) { - unsigned int test_vec_num = (sizeof(aes_ctr_reference) / - sizeof(aes_ctr_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_CTR, - ODP_AUTH_ALG_NULL, - &aes_ctr_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_CTR, + ODP_AUTH_ALG_NULL, + aes_ctr_reference, + ARRAY_SIZE(aes_ctr_reference), + false); } /* This test verifies the correctness of encode (plaintext -> ciphertext) @@ -928,17 +900,12 @@ void crypto_test_enc_alg_aes_ctr(void) * */ void crypto_test_enc_alg_aes_ctr_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_ctr_reference) / - sizeof(aes_ctr_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_AES_CTR, - ODP_AUTH_ALG_NULL, - &aes_ctr_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_AES_CTR, + ODP_AUTH_ALG_NULL, + aes_ctr_reference, + ARRAY_SIZE(aes_ctr_reference), + true); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -948,17 +915,12 @@ void crypto_test_enc_alg_aes_ctr_ovr_iv(void) * */ void crypto_test_dec_alg_aes_ctr(void) { - unsigned int test_vec_num = (sizeof(aes_ctr_reference) / - sizeof(aes_ctr_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_CTR, - ODP_AUTH_ALG_NULL, - &aes_ctr_reference[i], - false); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_CTR, + ODP_AUTH_ALG_NULL, + aes_ctr_reference, + ARRAY_SIZE(aes_ctr_reference), + false); } /* This test verifies the correctness of decode (ciphertext -> plaintext) @@ -968,17 +930,12 @@ void crypto_test_dec_alg_aes_ctr(void) * */ void crypto_test_dec_alg_aes_ctr_ovr_iv(void) { - unsigned int test_vec_num = (sizeof(aes_ctr_reference) / - sizeof(aes_ctr_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) { - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_AES_CTR, - ODP_AUTH_ALG_NULL, - &aes_ctr_reference[i], - true); - } + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_AES_CTR, + ODP_AUTH_ALG_NULL, + aes_ctr_reference, + ARRAY_SIZE(aes_ctr_reference), + true); } static int check_alg_hmac_md5(void) @@ -995,30 +952,22 @@ static int check_alg_hmac_md5(void) * */ void crypto_test_gen_alg_hmac_md5(void) { - unsigned int test_vec_num = (sizeof(hmac_md5_reference) / - sizeof(hmac_md5_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_MD5_HMAC, - &hmac_md5_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_MD5_HMAC, + hmac_md5_reference, + ARRAY_SIZE(hmac_md5_reference), + false); } void crypto_test_check_alg_hmac_md5(void) { - unsigned int test_vec_num = (sizeof(hmac_md5_reference) / - sizeof(hmac_md5_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_MD5_HMAC, - &hmac_md5_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_MD5_HMAC, + hmac_md5_reference, + ARRAY_SIZE(hmac_md5_reference), + false); } static int check_alg_hmac_sha1(void) @@ -1035,30 +984,22 @@ static int check_alg_hmac_sha1(void) * */ void crypto_test_gen_alg_hmac_sha1(void) { - unsigned int test_vec_num = (sizeof(hmac_sha1_reference) / - sizeof(hmac_sha1_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA1_HMAC, - &hmac_sha1_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA1_HMAC, + hmac_sha1_reference, + ARRAY_SIZE(hmac_sha1_reference), + false); } void crypto_test_check_alg_hmac_sha1(void) { - unsigned int test_vec_num = (sizeof(hmac_sha1_reference) / - sizeof(hmac_sha1_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA1_HMAC, - &hmac_sha1_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA1_HMAC, + hmac_sha1_reference, + ARRAY_SIZE(hmac_sha1_reference), + false); } static int check_alg_hmac_sha256(void) @@ -1075,30 +1016,22 @@ static int check_alg_hmac_sha256(void) * */ void crypto_test_gen_alg_hmac_sha256(void) { - unsigned int test_vec_num = (sizeof(hmac_sha256_reference) / - sizeof(hmac_sha256_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA256_HMAC, - &hmac_sha256_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA256_HMAC, + hmac_sha256_reference, + ARRAY_SIZE(hmac_sha256_reference), + false); } void crypto_test_check_alg_hmac_sha256(void) { - unsigned int test_vec_num = (sizeof(hmac_sha256_reference) / - sizeof(hmac_sha256_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA256_HMAC, - &hmac_sha256_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA256_HMAC, + hmac_sha256_reference, + ARRAY_SIZE(hmac_sha256_reference), + false); } static int check_alg_hmac_sha512(void) @@ -1115,30 +1048,22 @@ static int check_alg_hmac_sha512(void) * */ void crypto_test_gen_alg_hmac_sha512(void) { - unsigned int test_vec_num = (sizeof(hmac_sha512_reference) / - sizeof(hmac_sha512_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA512_HMAC, - &hmac_sha512_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA512_HMAC, + hmac_sha512_reference, + ARRAY_SIZE(hmac_sha512_reference), + false); } void crypto_test_check_alg_hmac_sha512(void) { - unsigned int test_vec_num = (sizeof(hmac_sha512_reference) / - sizeof(hmac_sha512_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_SHA512_HMAC, - &hmac_sha512_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_SHA512_HMAC, + hmac_sha512_reference, + ARRAY_SIZE(hmac_sha512_reference), + false); } static int check_alg_aes_gmac(void) @@ -1153,25 +1078,22 @@ void crypto_test_gen_alg_aes_gmac(void) unsigned int i; for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_ENCODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_AES_GMAC, - &aes_gmac_reference[i], - false); + check_alg(ODP_CRYPTO_OP_ENCODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_AES_GMAC, + aes_gmac_reference, + ARRAY_SIZE(aes_gmac_reference), + false); } void crypto_test_check_alg_aes_gmac(void) { - unsigned int test_vec_num = (sizeof(aes_gmac_reference) / - sizeof(aes_gmac_reference[0])); - unsigned int i; - - for (i = 0; i < test_vec_num; i++) - alg_test(ODP_CRYPTO_OP_DECODE, - ODP_CIPHER_ALG_NULL, - ODP_AUTH_ALG_AES_GMAC, - &aes_gmac_reference[i], - false); + check_alg(ODP_CRYPTO_OP_DECODE, + ODP_CIPHER_ALG_NULL, + ODP_AUTH_ALG_AES_GMAC, + aes_gmac_reference, + ARRAY_SIZE(aes_gmac_reference), + false); } int crypto_suite_sync_init(void)