From patchwork Tue Jul 3 15:24:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 42157 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 1C3B61BF48; Tue, 3 Jul 2018 17:25:18 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0044.outbound.protection.outlook.com [104.47.36.44]) by dpdk.org (Postfix) with ESMTP id 3548B1BF41 for ; Tue, 3 Jul 2018 17:25:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JY9eoRKPPmfqHZ4FZ+H2a05J96zuek9Uzd7koc1zCm0=; b=AuPfDXCjrMGBYFSk2syFV+k+cXjaKZ1wRBL9tg97hXT38G0uT/8ceZ65aWRbwdcDZCbAQ/SkuSlONmiJRhiGrCwW9dmfi8MQmtef3q9DFZDqmIhivKAnQWgABESRbcOTxR0GBE1r8cVAAw5TAjA2hDvWWfsKIMbOe83jiXzOFe8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by DM5PR0701MB3640.namprd07.prod.outlook.com (2603:10b6:4:7e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.24; Tue, 3 Jul 2018 15:25:13 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, nmurthy@caviumnetworks.com Date: Tue, 3 Jul 2018 20:54:22 +0530 Message-Id: <1530631466-26427-1-git-send-email-shally.verma@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: PN1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:e::24) To DM5PR0701MB3640.namprd07.prod.outlook.com (2603:10b6:4:7e::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18504e58-a830-4ad2-dba1-08d5e0f92cf4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:DM5PR0701MB3640; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3640; 3:NvqTTEsceVmDXRCSUvf5NtLGxjqPEiojHV7nT/i8TZxMw3wzR3xUiYe6XHyCp0ZNPZ+f02UJn02G5jEO2jHyRqDIu11mHtFqhog0kSXMl5OnBvglmuJIm5K64tnGsXkVxwSgI0fsA6aHf8SuT6+cKjZtLYWpPvIqfuan5cuBbsuMPAV4w1xd16A44lpdC/vFAOYg/c24u8QoCgwqf6A0+i2epVvUYIpSh36cysxxXDjt/CcgWYWI9Hlw7Ptsbjeu; 25:bAfu6pVX/FoeVxzyZj1wC8+UWZltWaxm0D1X+duaDqubNMDyK19M2EyniCCB4aaxUMxyx7Fa+0UDl8Adec3DZVy3cFYc6s/bVqFppAGg9b3PcK5l6in6MYcvFCxY+jWoeW0CSMevBGUSt9Z/oKuQWsb2AyDpYBruU+UfCTqsjCzeOToNPU3JGhfSeHRBONmv4Pf6lA96zAgFnvCB25Bv8cejYflxhlUJyqYQuSDOSkDd5gVIGODpUV573eOK0XvaxlecgwxIffDNXQXW+M0NZctGPzL+DXZPpzvqrAYDeg2JPCSHmtRYKGZe/o0mw1d84gPo8S/NIgkaThn1Rx27gQ==; 31:Euf/f24f0WWC+AtEdpubHSpT99PDhsEJZm6QQXUX03pab+huOwf+6JLBIfsnqGYC+rckIcF/z2iIIebSj27cpl+RS341AHWErjfHsIbq3EsgQSnFsRgttW/pxPwteBqiIKpkzq/OIj5YwI2cs7MrsnOlgGWbC9qNS1zOh2pfuqkt58zTYRG6gbDRYCTyMLqy3BaD237/W6R10Bh0L/83q5bFboKlCAHxQ8H1Zmyfxkc= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3640: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3640; 20:9fO454aK07P5bMu5U6yfvC/msA7XBHbx/9wKEVbj7HELvsVAsA2761+OmnLGO0AwUzxav8X0VK1UoS2iAUjvdMy+UjQvWd4B6UFty4MbfxbIxAQhg+PyUAJqaIgpq+dCLz7TSQX8JfjIy73H4YIXgq8SOUSlqADyjdJW2LyObP4x96hFpYM2wRHRUY6q4LUKGK1kijAzsJJMRMfiYXqcEhS3dCtbVTTo8gb1ss2J29MJ+c+aRcCc+hPF2aEpkVcKc63n1eLPyC2/mNNxLpsINXywnIET6Lj14JYJ5h/Y2PvxVb77rWPtKrzB2NaX9HRXm5QnhEmBPTJhKuQWlztFk56hADdlwOE4Ha9kbBJU0VOFqdsnI18KWOmjA/AQnqVfr+L2ZeXCBd2fnVYfkqvXOwi1n6TTmc7d0ma149LC/tymc3dgrwyOo0lc8YX9k5LVIY9D6uE2yu2h8l6bwe2GS/Bb/cVXfT6oAhDi3t5fOtu+SMH8gHAF/OvnGt9hetVvZtLCycZqCIIVED7TQBFYxZzPXgS/Ew64l4l2vGcjlpgSwMu2JExFdU11eXibtodwP8GU332vXni1s7C0Mb3PhaNR/7gH/EPDnaOh2oZomRY=; 4:f5Jcp0eoLCWKKaYW9tDU9/X/awu8fowjKHNJMkXMv/jZ5iB4kZd+eZbn5un+ubdDqfMY+072tetuVs4E0UCrJxIyEfp7c3zmxVACUIArCHCimplvN9jeGaETWXyCys4AMWfPis9TyKg0gLshJjwD+tpeoq4mkeuwCSt3CRnMrqR/GrC3/3piej6SaQCOp7Glj3FZ9vWt2gDWvzKL2IgmrVkd5wpqYYEx16b6jHatY/5qsF0Jnn1Yil+5/kJWrPzBZpIdRG2qSEh7FryX6XMnlg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(10201501046)(3231254)(944501410)(52105095)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR0701MB3640; BCL:0; PCL:0; RULEID:; SRVR:DM5PR0701MB3640; X-Forefront-PRVS: 0722981D2A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(346002)(376002)(39860400002)(396003)(366004)(199004)(189003)(1720100001)(50226002)(53936002)(55236004)(316002)(6506007)(107886003)(53376002)(42882007)(305945005)(386003)(68736007)(7736002)(966005)(4326008)(72206003)(8676002)(6486002)(478600001)(6306002)(25786009)(81156014)(81166006)(2361001)(6512007)(97736004)(69596002)(6116002)(16526019)(3846002)(186003)(2351001)(44832011)(5660300001)(6666003)(6916009)(53416004)(8936002)(66066001)(47776003)(476003)(106356001)(956004)(2616005)(105586002)(2906002)(52116002)(50466002)(5024004)(14444005)(26005)(2870700001)(36756003)(486006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3640; H:hyd1sverma-dt.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR0701MB3640; 23:8cllQB0cln48ZMR901atj4Kz00/cVOGUY81ydqx?= YXBBWGSwhH61+lXCx2++Dlz6g/qgrUom4GbSWEdY6Ci0qbq6Gmr+mcYiNhZKugwNY1/y3FEx+UVKjMysipbptnbm7w3y23uJI+i2Xvvged6RtCqd2fBR/w4EmESQuFqNp/Snc9qz3fnOARWcrphCl6JVBuKuOF22vZLDwiRYZ1ahicjJHz0/pfoq8ltkv4yxEy6cU7Afupm9Eaqj8Kg+//3H1XtdfcA3RZeMBLen8LxuAJY3HnfB3F5Hqba/zt4RztFlNCiyKCogp0EHr9jYpRc2tixYiUZgPfpIwsjrzQZl7qgWgICwLBKrdd1pIa1VOhOwSAL7v4xGwwYdzC7ab+VzEJDUz2+mPfpdQW9IaRO9IT3O7NFQrhOH4RB9HzpB0xdgUty4YGsJ2GNyaBf1y+0193aAT9gF0s2RQwb4iqSDQwFs0RsXAKBCj6XUmRogimfaqHZCi+w2gR//OUSFLzB/ctdi2x2d8sDTCOlBdYYwJl2JEkqMCA/3PFAF1EZvNuH9ZY1iGO7VyepjOfz6Tuv5QZoijD+9gx0ms8Ps2c8j9EzySlJ9OxAl+EAF3lHlILfZyYwZ8ro+5dAGa3T75fZH42gzkdTD6bLR8SdVWlr1u8QbPti6biJyqlwfeJaJHVwfgvBSLSzuHnDaggC48V0HoaaSjmlwvFUYHNYmkW8sq8wS7uFI5oYJD2Pe7DmwzpdTPQpfHfcwmBAMgr64X1yQPxozbiOBIKQdwiGzsbzPLZxKVZesH3RteNGCgX0Ua+A8i5JyNStecIjl7Mjlflw2+wM3K2NW+MM1E0US9xgyG3n4a6Zi/E+83KiVo1L8m420HxORgo3m236fq9cOs8giRC4W0+QFmqhS0qH/kzYFjyw04bd2KMKeURs6RdmGO/n3zXmDsPVjuw3XsyYhPLDDftiUxIrWOGyffes9q1JVnhy6VL3/tNrkFjKCJu8CPRF35YFzl1f0Wi3ODz2x7olDQxev7LG9Eoe4GFl9RhVjK4pYJx8+rqsFu9oPPDGn+5vROG8jRfcaC4mz7jTSrqPAXGokqwh0MKgmlK87ljh7uHU/hfv+wU/Bciraxnfu7dUBnUcFLn7SV4Hg0BxoA7ehk9Q5nLu9MJtfgJprEhp++R0U5DC8p7gloUXwBuXI8KBwsI7fnEpNJuB/P1eHUdCGeFpZCrSjVE0dtkwJA+2VqDXOEtPG0p7zfJxituyia1glkNWdSt8VaeCXL7hGik/N3Cpj93mcRCS8xaK4P0D2UbM2KeMovTfMYNZnHVEou1TD0+UW7LajoLvXSPrYdbq9EwcACvqBvT6WhZgc9fMhzRQ== X-Microsoft-Antispam-Message-Info: clVzXfh0UYxWjhwPNrrhaB+AR8egOr/fofgLcKe606YyjtvuYA111Kqi4R2/Q7MjaZ2PRl7qQ55Etv3GPhlvrHGZBoe4njGX1c5PCCKxjY/BSnAFeeWxPI6oxXaJLrHWNGO4H5rA+I4wvMC3RMMcsS2PNUaPnrerGbSyMNIZiyJc+mw2conj14R/KfGGw6d2Tg0ZpVQKZsYUt1jfHV1Mt8D3skJmVBI1DjkNWeSxz90E6bZmpLvbLD9RgC9H2LA1CuX8372XMOsgMydLsDuW+NspviTJXv2BgKgVW/JS3SeyKL16EC4JNCRZOoO7evUo34P3bQjsNAN0Bg8sfT1TslwzG/5kxhKdu8pJRI8A5Mw= X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3640; 6:BpHpfZy+QHHUoFKtVv4go17OPxru3g269qVnydKnTGLwreiVnsFSFCDkC/LDao2D0KOiZCdMBYq7QwlF79kuA91VK/cZedQRL7s7sQDt0/0VJBmyuYZ0ChU7CzB5FGtFGniWvMvovNYr/QWUe5bvJBR4IDFScGeLjbTw+a1TtUovHBpwDFocRMG2EoDPqb8kdoAbQB75ebwmMtiv7G9FEl1BEITOxA3EfLHA2BiYTF22LkyE/JtqiEgO9PzrQ5kSYwIWE2d9Lx9kiDOgmkA2jgoeZQQXlUTC2k6KED3eyHi2BQn53UnTyaJ+05YwcDvoaZBH3MDZ6BPXVewGdjvEGpodlqQGj5W+m57R2rnGIyF/Hczr9xs2NThhSYvvAgd6Jy6rlNVCS0ZNnYxvgWWvTMpqLQiwzj+NQHL1gro53WobEyR0y6hfy3phEHrQtHhwfSKrKyb0NNjDWsfHekzzuw==; 5:Nms3LuWSW1y1pSJEUo8/MjC7tXX9Da+JRKz+kMEGVX7LcAzbpC1VfByk2OCD7nztj+xxFpzVkNu6B60l7sLWDKXEqUI/LX9b1r662KeHOOZNTyg5u5FokD8nBmY9L70uveOCDvA8onVp2qcuNbPhquDdypwwwK1Tou7nqMnGdUU=; 24:CAGk/alOhCyErc+3IwUzRHM2nYoRMq+MnrC+aq8v47J5BL0WKAJGWOziujn/iFwgNiji2JDNDyf7ruFEZDagrEnRjfLate3LhZIj6sH0pE4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3640; 7:H4/3vHVn2Ijkmcbg7CrZyzSrlJZQUChLGiItRV/ohS47rixjU+/ZGaZ0Zi/KCNz5l/Qa1cC/+d/DdfIh8Q4UFE9VwCcrK45W8FddL3linQxQDAmL6RvksGpSH4VUhAA+plnXrmmUOLPP7F9ufE4rs4RruJpCiWdCBEviSB/0LbCCra8EUE/mmStWIBNigJMvPKkTuVG6a1szfa9F2e7YL16tIIQqXPClzvozA2ITbGi4tiXtTs47MBVgaBG7jBDU X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2018 15:25:13.2615 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 18504e58-a830-4ad2-dba1-08d5e0f92cf4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3640 Subject: [dpdk-dev] [PATCH v4 0/4] crypto: add asym crypto support 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" This patch series add support for asymmetric crypto in DPDK librte_cryptodev framework along with documentation updates. This patch series is divided in to following categories: 1. library patches with asymmetric API, xform and capability definitions 2. Programmer Guide updates with asymmetric description openssl pmd and test app to be added as separate patch series with 1.1.0 support. changes in v4: - add of asym specific session header size get API - add asym function pointer NULL check for asym_session_configure/destroy, for the devices that doesn’t support asymmetric - remove redundant asym_op_reset and asym_op_attach functions from lib - fix ordering in version.map - simplified check_modlen function - simplified logic in op_pool_create - corrections in doc - renaming rte_cryptodev_asym_session_get_private_data to rte_cryptodev_asym_session_get_app_private_data - contains only lib changes changes in v3: - correct rte_cryptodev_asym_session_create to pass void** to rte_mempool_get() and add support for private_data_size flag - remove redundant xform_type from rte_cryptodev_asymmetric_capability - added rte_cryptodev_asym_session_set/get_private_data for app to setup private data in a session as per latest dpdk-next-crypto spec - rename few APIs to be consistent with other API names - update test meson.build to include asym unit test file changes in v2: -addresses patch apply failure raised on asym crypto v1 patch series: https://dpdk.org/dev/patchwork/patch/36575/ https://dpdk.org/dev/patchwork/patch/36576/ https://dpdk.org/dev/patchwork/patch/36577/ And, unit test and PMD patch series: https://dpdk.org/dev/patchwork/patch/36928/ https://dpdk.org/dev/patchwork/patch/36929/ https://dpdk.org/dev/patchwork/patch/36930/ -- resolve git apply patch error on patch id 36575 -- resolve git apply patch error on patch id 36929 Changes in v1: - removal of dedicated sym and asym qp setup, - remove asym qp count and attach/detach_session apis - re-org xforms params for deffie-hellman to allow public key and optional private key generations - move elliptic curve changes into another separate patch/patch series TBD: - add elliptic curve support - rename of existing session_configure/clear APIs to sym_session_configure/clear/init APIs It is based on review discussion on RFC v1 asym crypto patch http://dpdk.org/patch/34308. RFC v1 patch http://dpdk.org/patch/34308 is further a derivative of earlier reviewed RFC v2 patch series: http://dpdk.org/dev/patchwork/patch/24245/ http://dpdk.org/dev/patchwork/patch/24246/ http://dpdk.org/dev/patchwork/patch/24247/ Shally Verma (3): lib/cryptodev: add asymmetric algos in cryptodev cryptodev: support asymmetric operations doc: add asym crypto in cryptodev programmer guide Sunila Sahu (1): lib/cryptodev: add asymmetric crypto capability in cryptodev doc/guides/prog_guide/cryptodev_lib.rst | 290 ++++++++++++++- lib/librte_cryptodev/Makefile | 1 + lib/librte_cryptodev/meson.build | 3 +- lib/librte_cryptodev/rte_crypto.h | 37 +- lib/librte_cryptodev/rte_crypto_asym.h | 496 +++++++++++++++++++++++++ lib/librte_cryptodev/rte_cryptodev.c | 277 +++++++++++++- lib/librte_cryptodev/rte_cryptodev.h | 227 ++++++++++- lib/librte_cryptodev/rte_cryptodev_pmd.h | 58 ++- lib/librte_cryptodev/rte_cryptodev_version.map | 15 +- 9 files changed, 1384 insertions(+), 20 deletions(-) create mode 100644 lib/librte_cryptodev/rte_crypto_asym.h