From patchwork Fri Aug 23 10:42:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nagadheeraj Rottela X-Patchwork-Id: 57841 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8033A1C00F; Fri, 23 Aug 2019 12:42:42 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 962CD1BFB3 for ; Fri, 23 Aug 2019 12:42:31 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x7NAgVvr005465; Fri, 23 Aug 2019 03:42:31 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=CDg/t5RxUlahr/Mzr160oAVhV1MFRUSXlDgQA8A1r2w=; b=rdltrRPW+aRENGXT972CjASzjA+I1r3AwwukPuVOL1S6O+tXMlRv8axhWV7C7v6Jnh6G v9CmMoQjIEmGgKCwfX1SEp0eQ4G+BrM7FES32L+p0a4B68OECSm9YZkj6JVEwSWSwrwe qWR05gti40D3H0vcCpynKi7T72cFdUfkec+UesfaKcVrHfEGCzHPSni6w06ElgfUwHXj wWgCJDxY1pz3HRGb75drbMAA2ZBTW0IZHosB0KeI5NcvYNJ5TUtKLMEelqLkK/c8hCpq XSYc5iXhX0gxZfNC+IX/yxIe7VmMnXDgWztR6tiPpNykUKdew+f3MPMhVS4u2dvs7eKb Dg== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2uhad40cgv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 23 Aug 2019 03:42:30 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 23 Aug 2019 03:42:30 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.52) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 23 Aug 2019 03:42:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oo6o1vUQWkMor9dtPV/lQDrBkqwZ0iUW16pcVGOHn9+PzKEjR1X/U42E9PLDBBNrIVfA/Wqgn8NAa8o98VHPj9N02OmD+V8zsvWTjbncEkeJLMwv+P1VkkukQVC9pzitS4jh/oBy96VCsTspJnfxbFoUXiTe+jHAOtdkScQ+Qg49vWBKMdWJSzcGg2IEYJuWNiK5IW1CnpPA2Dltxgn539Hjtkqtstlrayg5Yl1reQnOBm3pfKJ4gIho6ihsnZQ85TolNbXHMSrptyU7mRiEW1kNV2G+8FFlgYpCBZClW+8rdvKn7WdAIBxHN6/KcaNwZ2+Fqbi7oa+3BE0UbEB81w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CDg/t5RxUlahr/Mzr160oAVhV1MFRUSXlDgQA8A1r2w=; b=O7yOOSmx3jO5fFvWEAugIn9akMZ7T2+egYVSfKA4a5IFfy8AoDppDaI0tWn3AuLuJSR2dcDXiUwkYVhYLGdNG0lAALHVuEGflNdW/EijIVw9HrFnL/U+PlZBvhx7wAhA3oZuUIMBNy+Skw2B7eR5Uj6njme6hvUPSaO1bzE6FwdJkPtECIrNYuOHSpu+Rw3WGPWUIQIigLgRonZfoptq4igftIvFI3UuznKgjuhsPRYs2HIR5zRUpSgiKvgE1Ayl2/4FHK7M9qwqgPGeL2QqYsXLkU1YXpLKqcskYvu5vkXrBOHRgUpQLXlMiSl2m1fHsszUZk6KOLFIVqQLW/IriA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CDg/t5RxUlahr/Mzr160oAVhV1MFRUSXlDgQA8A1r2w=; b=AiIIrfutwCFJMfviHjTdSKD3uhi/9Gx9cYIV4T8FsbDaoaAIDL8neRvPeI9+6jRG5vftCXq6yffXQ2VtY/9AxmqWsIZ8uBX2ydbrBhZS9my/z01J5pNDK55P7QfvNuyrO/GoYlYQCVLCyDxTP/PsiUX4Zblw/vrFb2b7yikmKko= Received: from MN2PR18MB2797.namprd18.prod.outlook.com (20.179.22.16) by MN2PR18MB2830.namprd18.prod.outlook.com (20.179.23.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.18; Fri, 23 Aug 2019 10:42:28 +0000 Received: from MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84]) by MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84%5]) with mapi id 15.20.2178.018; Fri, 23 Aug 2019 10:42:28 +0000 From: Nagadheeraj Rottela To: "akhil.goyal@nxp.com" , "pablo.de.lara.guarch@intel.com" CC: "dev@dpdk.org" , Srikanth Jampala , Nagadheeraj Rottela Thread-Topic: [PATCH v3 11/11] crypto/nitrox: add SHA224 and SHA256 HMAC algorithms Thread-Index: AQHVWZ915b4f3yMi+ka4udXGzceyOw== Date: Fri, 23 Aug 2019 10:42:28 +0000 Message-ID: <20190823104144.19300-12-rnagadheeraj@marvell.com> References: <20190717052837.647-1-rnagadheeraj@marvell.com> <20190823104144.19300-1-rnagadheeraj@marvell.com> In-Reply-To: <20190823104144.19300-1-rnagadheeraj@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PN1PR01CA0110.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00::26) To MN2PR18MB2797.namprd18.prod.outlook.com (2603:10b6:208:a0::16) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.13.6 x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2d02c03e-280e-4275-be66-08d727b697b1 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR18MB2830; x-ms-traffictypediagnostic: MN2PR18MB2830: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:901; x-forefront-prvs: 0138CD935C x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(189003)(199004)(26005)(81166006)(14454004)(2616005)(476003)(5660300002)(86362001)(71190400001)(71200400001)(316002)(486006)(36756003)(25786009)(66066001)(53936002)(11346002)(446003)(305945005)(7736002)(54906003)(110136005)(256004)(14444005)(6486002)(99286004)(3846002)(6436002)(6116002)(478600001)(2906002)(186003)(8936002)(6512007)(50226002)(81156014)(55236004)(102836004)(1076003)(107886003)(4326008)(64756008)(66946007)(66446008)(8676002)(66556008)(66476007)(2501003)(6506007)(386003)(52116002)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB2830; H:MN2PR18MB2797.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: WqNzDsLryb3ZIAOL47WPPRFvprSQvK9MGJ/xpIlXUIZt24+H+3qi5uVcmRmyT7y/Kgt/WmQJvGHxZ1foNu9PoBlYZ2ut8eWQM8yz+JiZ7Phpt2Ii1WAl10HGiy+QCmje37D9pbLb39baQEcoWT1L6GT4mE5kJu/96a+ersHcp8FeQrOH/LfHyh9IeeOGuhR2nenneuJPmkdxez6sRHWp4M2f4L/0eI3o5ONYBwyuDQOdoxngW7om1+d+tsnoxUiAuBqSawh+S4TT3PjAFuXxjO2QWAJofr/7tt6NM1rvvR18VXjo4gRCq/jr/TyXNwQDK/dQXlNk7RqesC4v1zAbxTpIPfD3vw/gVBjSoomz58Cv7CAUqOhssHNndbEonHrGU4VCnD5zyD3/ZHUl8Smj9x4lJrxgBMqzKj16NzF3w7Q= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 2d02c03e-280e-4275-be66-08d727b697b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Aug 2019 10:42:28.0842 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ulwBfjRZwYftxJD61Cm7ejZQAUC+xTx9EUqG6D7lCntZdzKE+t0MpvrUwzmDTltKmSznaBZsBWB1guph6i0WJwBxfWcRwCH6LQY7jRa/UYw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB2830 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-08-23_04:2019-08-21,2019-08-23 signatures=0 Subject: [dpdk-dev] [PATCH v3 11/11] crypto/nitrox: add SHA224 and SHA256 HMAC algorithms X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add SHA224 and SHA256 HMAC algorithms and it's corresponding tests. Signed-off-by: Nagadheeraj Rottela --- app/test/test_cryptodev_aes_test_vectors.h | 18 +++++++---- doc/guides/cryptodevs/features/nitrox.ini | 2 ++ drivers/crypto/nitrox/nitrox_sym.c | 6 ++++ drivers/crypto/nitrox/nitrox_sym_capabilities.c | 42 +++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 6 deletions(-) diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h index 476459b66..46239efb7 100644 --- a/app/test/test_cryptodev_aes_test_vectors.h +++ b/app/test/test_cryptodev_aes_test_vectors.h @@ -1723,7 +1723,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest " @@ -1732,7 +1733,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " @@ -1748,7 +1750,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " @@ -1757,7 +1760,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest", @@ -1898,7 +1902,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest " @@ -1913,7 +1918,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest", diff --git a/doc/guides/cryptodevs/features/nitrox.ini b/doc/guides/cryptodevs/features/nitrox.ini index 9f9e2619c..ddc3c05f4 100644 --- a/doc/guides/cryptodevs/features/nitrox.ini +++ b/doc/guides/cryptodevs/features/nitrox.ini @@ -26,6 +26,8 @@ AES CBC (256) = Y ; [Auth] SHA1 HMAC = Y +SHA224 HMAC = Y +SHA256 HMAC = Y ; ; Supported AEAD algorithms of the 'nitrox' crypto driver. diff --git a/drivers/crypto/nitrox/nitrox_sym.c b/drivers/crypto/nitrox/nitrox_sym.c index 9ccc28755..3f602a948 100644 --- a/drivers/crypto/nitrox/nitrox_sym.c +++ b/drivers/crypto/nitrox/nitrox_sym.c @@ -399,6 +399,12 @@ get_flexi_auth_type(enum rte_crypto_auth_algorithm algo) case RTE_CRYPTO_AUTH_SHA1_HMAC: type = AUTH_SHA1; break; + case RTE_CRYPTO_AUTH_SHA224_HMAC: + type = AUTH_SHA2_SHA224; + break; + case RTE_CRYPTO_AUTH_SHA256_HMAC: + type = AUTH_SHA2_SHA256; + break; default: NITROX_LOG(ERR, "Algorithm not supported %d\n", algo); type = AUTH_INVALID; diff --git a/drivers/crypto/nitrox/nitrox_sym_capabilities.c b/drivers/crypto/nitrox/nitrox_sym_capabilities.c index aa1ff2638..47ceead73 100644 --- a/drivers/crypto/nitrox/nitrox_sym_capabilities.c +++ b/drivers/crypto/nitrox/nitrox_sym_capabilities.c @@ -26,6 +26,48 @@ static const struct rte_cryptodev_capabilities nitrox_capabilities[] = { }, } }, } }, + { /* SHA224 HMAC */ + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, + {.sym = { + .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, + {.auth = { + .algo = RTE_CRYPTO_AUTH_SHA224_HMAC, + .block_size = 64, + .key_size = { + .min = 1, + .max = 64, + .increment = 1 + }, + .digest_size = { + .min = 1, + .max = 28, + .increment = 1 + }, + .iv_size = { 0 } + }, } + }, } + }, + { /* SHA256 HMAC */ + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, + {.sym = { + .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, + {.auth = { + .algo = RTE_CRYPTO_AUTH_SHA256_HMAC, + .block_size = 64, + .key_size = { + .min = 1, + .max = 64, + .increment = 1 + }, + .digest_size = { + .min = 1, + .max = 32, + .increment = 1 + }, + .iv_size = { 0 } + }, } + }, } + }, { /* AES CBC */ .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, {.sym = {