From patchwork Wed Jan 4 17:33:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zbigniew.bodek@caviumnetworks.com X-Patchwork-Id: 18866 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 1FC9EF91D; Wed, 4 Jan 2017 18:34:36 +0100 (CET) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0059.outbound.protection.outlook.com [104.47.38.59]) by dpdk.org (Postfix) with ESMTP id 5EEB758CF for ; Wed, 4 Jan 2017 18:33:52 +0100 (CET) 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; bh=jLAuuEyej3gIcDDpgBgakcPxgSOVlbluFT7LxzU2b/k=; b=cbRJQGZwhPWWbD6WlToa3TFwXDN0Mm5FWVBLNhXwDh55Tn5F1solNc1NB+fGcM7oTDvnz7alDLCCAx7ar5Lnq1knUbFhqRYpLoJKa4Q93joQc2/g+AhF8+9nPTldNSZHFwgFU1FeH01Y+z00nBzmCp/Z06z0ZXUQQ3j1gEVf5aI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Zbigniew.Bodek@cavium.com; Received: from localhost.localdomain (31.172.191.173) by DM2PR07MB559.namprd07.prod.outlook.com (10.141.158.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.817.10; Wed, 4 Jan 2017 17:33:50 +0000 From: To: CC: , , , Zbigniew Bodek Date: Wed, 4 Jan 2017 18:33:24 +0100 Message-ID: <1483551207-18236-6-git-send-email-zbigniew.bodek@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1483551207-18236-1-git-send-email-zbigniew.bodek@caviumnetworks.com> References: <1481077985-4224-2-git-send-email-zbigniew.bodek@caviumnetworks.com> <1483551207-18236-1-git-send-email-zbigniew.bodek@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: AM4PR0501CA0020.eurprd05.prod.outlook.com (10.167.83.158) To DM2PR07MB559.namprd07.prod.outlook.com (10.141.158.24) X-MS-Office365-Filtering-Correlation-Id: b89fd3cc-6545-48e9-1a04-08d434c7d937 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR07MB559; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB559; 3:Eu2jeK2LQbJ+YMFAfz3mFEhFDkpMd40CdwIkJ9+7CG7HVRYABjiQJlJKPSJuEC5LRIF04ccUVjAPmC8v2NbRv/5q+SxA2SRY6VOCVldE3AYA5JD09BK2Oy+pbwNQJaj5i7CRNwQ2zp/+rfRkUiSs7KDUZHi7akOiCcoh5o5RJhJlkpQfx4HRv4gB9dSxoQI2SGZ8cyFm8LKFTX1bo7Uvzlh+kOI//3sG5ouM5bmwIUWICpZmCxTv5Q7I0EMXGTzdfJ+3CfLZoZHti4JVbqhFzA==; 25:3IVCwPPB6RS8etA86UNfsXsxhZWL+arvZOqDKrBh2B+t+yxg147MIZIqqZiCOIFN+dDw7yVQcul61Ac+dvXV8lKF5SWnAJQKwiK7XE7t9fm6dSc2XtsNAgIgIJiwuvJCTFKOojCaGGawzWX53NKBLrODLC9SAKDgxREBfr8kfBHk4dYgqnxn6Kti/+kLWTZ30/rOMA77dwxcH+1HRrfvIvOO+sO7R5qgMPQ0SJObrEFmbdTgSL7dV2RQYVtx0aDucl3HX5Re4OvtCcIQZbiZFLOqK31xnvMmqI+QOIjvqbXrsCxjeDbJS/K+jlPUiWzq4ocKAozl/jGsS7yKtBaM8IBp9hwUWWCOs9CfUG6rpiatk6Opv2IuPODQK5LJLW7wB1eleyPV00Gky4Zx0cWoQQEdnu/7OnO+Vc4Rf+aLuj1lUZET6DMg2Z3JMHx6UjLYRneaSSmHDI+uNRWPN3kWog== X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB559; 31:Kqz6aRQVzD/OggSbd4iN2t+wsip5bcwSqySoYjcvzv4vF4x+ocNen3o0aZ5kN6zslqReY8yZIvM9DQb3fjnEzQOJWq6aua4B6o/ShkreOU9179y7Gnf+NyrD9sv+Qjkg1QRPYywjnNl4sHeOpe/JzJ86PmDTQo6GCoK7cGyWZfMJSjoGVWSkS1mTwM25AzVW9xDlZaf69Mk0fyIhPEKDSdxYXONv0F/G1igmX+YfoUr50wcM64ACuFH53us48s3N; 20:YJkHF/T8NlKmPs24Q3P8RyWZbczSPqIq3GhBzKGIJ1iGkxoNSyo+yeMssNLIwlkWhK7KqAb6TmMwC6nprcFB4q/lVGkCK6eyRAw5u6nXx6Me3v9ed2lPtW5yFWzA5hHW4wEvbZs2uJpqg9v7rQF6ly7YLzOtbGUze6k6YC8kypKCydxp2fLdE14nROzXaiqni/2/27MQ5i0SWh1JAn8QeykU+8Cy3GfY0glxAl2qhkcByP9ItsSD/DRPRk8tIcdrUKRfsJb9IPKCv5iEe/0T5W+yFNQz6x+IJdHmSPhWQs2gJK7FNyBYU9GTCb4Kno4pEM4tFEgC6BGFpsbyCRNHZvRSPEfKrG0fdeOa31lZSZpZf0oaZykX/pfdpinGIc1me7Abjoxxbndv4ZIB/rKMtBqhDcmNG6+pU6BO6G69bT54x39YFLxlt9L6szSiZzc58VZHA8U7rpfCTejVSccGYnSZlTnbakQN741DZi9L+Xsl213i7zYdOkfPOhN79fvAqROtFbqW0SaLA+1hm3qkM6ID42/Eh6+SyNqjvUE446TQ5XPpMRnkgz+/zjIyssis82WdhBscjz68r8VcJI86MLTs9RjBhRw5cCRdK7o4SRM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148); SRVR:DM2PR07MB559; BCL:0; PCL:0; RULEID:; SRVR:DM2PR07MB559; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB559; 4:Nc4N9Hw+yJARrly/dYZbmiYxBobaZpemNzwkEheRM3np/LvKVya7j5eVgfDUNRWk/YRCb4KIWfKnTfnlGCaaZVXHEYXLotIpW/G8Rp/TfX3vVxEwtYCEiv/GVW/fIbTKnElmJNw/kMuYxPbqN5JAPf0LAZKItoG9CcUsPBctTporWbIUl0I/4kOMngRP2UnJ7mdIurbGvf4yvnTs2FnlJxcWOg+73J+zap9wei7Rxnx3FR/lQJ8ckbJb813rrYYz6nyhLqJ1zcB40Ju7Hnu6xWyB8trLtLd6kZs6lL7bArx1PdbuHBH0J+yaJDFkRvpIJjWyjMN6EAybHCrcTzGWngX6q2bwr562Krj9ArKgPc0omy4BBHofCLFwra5twwbOS7cQ6SLJRC3ey7pX02xMR5baLQV7TdF1H0KkacNAsi6orS/xGvBMLwJGU0f8n7P1f+fXBzGPjPaJTkaY7abdVFYjH/UVuSXcCg5izo7fMLa9L6DWXQyEvzsr5hrw0Cc/3HW3pGMFLAh69kcMwcoROu5Hm4GXY4P6Nk7quqCDDfytWB6EuWwlfvGIb+Enf6D8IACATRiNaQ/rXw6jd0bRLU3j+Lt+TWlQbMczUYlYf+wmpTuDHRMBOyd98oGnILJK X-Forefront-PRVS: 0177904E6B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(189002)(199003)(105586002)(7736002)(92566002)(101416001)(68736007)(5660300001)(38730400001)(47776003)(66066001)(81156014)(50466002)(33646002)(110136003)(189998001)(6916009)(81166006)(42882006)(4001430100002)(8676002)(42186005)(97736004)(15650500001)(107886002)(25786008)(5003940100001)(2906002)(50986999)(6512006)(76176999)(6506006)(6116002)(54906002)(2950100002)(4326007)(86152003)(6666003)(305945005)(36756003)(2876002)(6486002)(106356001)(48376002)(3846002)(2351001)(50226002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR07MB559; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB559; 23:t68iKabeMia3v0jp2yttan6sdOFv633nFMIhZa3FJs?= eOXtUjyVTR9c6RByZpY79NieLQI7+bXpJ+5u7qfLWAdAeF+7CDLiz8TjRpUzgz+mqvwdpJ1xE60ZbbpuRL/X2S7LdzkYVU/BvgxIUsegWISqaXEED9n7QRtXe19QOKoGGi3n+qE1IZ5Ehh/hWcfWBzdR+yguMrCkdrtGo421gwsnbJ74GHPMqBYZrWme1n9IseeInTXY57/oa4QMlxC1CF6YVC24w7xGdb8uc0eAAFtKv372xBsHjtb2u2jRDhK6QI8AFaGg+Od2BmWEjSeDNF7yuKgt22G37SonU6SmfLy1YFInLyom1+Pj56Ud73Fr7meK4hV6+6uxGQRKwt4OsFFYVHgxt2xssXmScsjEq9OkpdAx9gxPJyEfFb8p1JQVoBN0qPcFeYq0sLH89f0ELJHKGCa9WpKZeYlN1AYuLPkbZElPYBZgOuvN0jrBurB1Ln9uM02OOWrtAht9GA733U/nLIq3peEvZPCxTpcuqANIfv2HpfVsCJSLfozVlHXXV44+WcqpL5JGZi6Inm3A0HVMzokO9KEv4ghxVpzmw8qaL0anoJw1GLD7bplZVj8v+3gbSOnhqLUa6tvXRKk6e2rtveNOCxe0A2gUQQEgx9OEn9f61kzrUPFqWvy1XlWdOck4GIePrEK7ezTi0TgMaKteM1b9RU2FWr9mhAtuzQ5FjVE1S2zcPIqBiuzsohslOvRybgo1f5koOc2e8rHfHDcMuTAGmw3uMLk98TElJ5sXwNlngA8zI9gBYlS1cMwpYKL/M0Tri2NkKQ3svdQH7W5BmJyLPufPZm2AqqBGYVRVA3m1ZMV1Twxd4xX6pxp6vbCp3RtKyWowNIGKLf7QfrahMp+3j3YIdQ690styI4XG0uEnmBFK6FXENMfxPVDgEuCl7l2yTdKCWE1drMWJDD3bmJ3TXn8hhyyAYfsvoZ226zOT1l+JG/w9azxJZl49UWRTusGCVLpWOVy6B45KOKvjdzo3jGWezhnbNDBkKy7DlEaprJsO/TRHf6Nq0AnaerJKYntKEXqIHd9Lh4aSwdv9m1c1ZYQWtGM8VxHcwslhKgpPE55KdCDvQhaaTgCjjPlhviDOCM5hDROBXVsa4cs9PEbQhTJuDAnyjlcN8FFbQlPhhOlDo/POwOrz4pKnzB/48nniwS71OIK9y6FPrp7HUEyOzTeBRHiiOKGRZpDgajc+7VnbZ9+Vk4Lb8wTS4= X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB559; 6:92GYB6EpZIehITZaQwYKZ4bZIovG099GmECozDcIduoLh1THVZbWm0jGFgammYCYswLRbsQziulfy8AAxvhiC8a7plYO3cIEiRZnF6Ab+uLHUDsxVxV5iTyKXNzh8C7e29C+173eOrvWadfV8AAKFjN3fg8y2VAmfuMPA9X+zk1Bf4lrZU2f4PrykoSempbyUkekCfgWb6ZAPWWppsIHJ4ntwOpN7gqBOlTU8i6RaUPWnLcv3sSKZLawIGu5Ja3qNK1TT5yJUoPgsoYVkW0752y7Oz+gosoS3HOajoNkV5AQlSsOL22H0MH6qTyyrc5zzZw+WHV+C+mYUlfsSbL4hFoqoV99CWfyQi1z7300TwS8lc+d8bQkQ2Vr1PuAv0vtekkF8NxEJybukLdFDfH4MNcLvT37Swybw2fTxmceNX0=; 5:4rEb1lOwd5BlXXF9MC+8W55r1qi5W/Pmkesv48Ljm+dwPSmnp6pQIRh+pC7Nw/rJdMuiJvygkHaO2AhrR0Wb9bWix2dQhHuOl5qaJp7864ZQSHmLCVdkEmfUAvSnl9+HfYL57EfRkdQWxmnmyPTyNw==; 24:wW65NqSxBmNSDZBomf1pvbsQlm2zVbmeNbGUEFWSrU6Be2eksUsb6BDElgAqGy37ufdukZRrFYljxItGGWT6PE85OooW3oxMZGQ+KbqGjeY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB559; 7:UyYH6HabBXpIQ//o99/gkv2Guv5VwxF6qtFJ+kW2HVl+wwXclFex52vmqUXtU92QINRHbdqU8uoFqxpxyIPJzHlxLNVlmOsC+7YEEWYATCudvlea9VAusu3vdUDJbkVUqvuoApN4yK3Jy9bLPHaNrIv9vl39+beJTNSEhv8FjLJ1+QsWb9ZSvDVlbxOsnKNknM1azo0CbLD2uhU/mBXhvrvQuEd03UzOTzf9fE7qdSuwRmtSOCECYCrouhe7gKi3tOqjpD2Wkk/Svus3kmAtchSbExb4J6L7h0la4VKQLHQswaMxW6h5Y0jVI8OR+y6/o09hdKGuKVGj6eYJ8TrXAnFK3cS9wuR066M3GTSTIhXxGGdWP4ENNL/wNo02WI+RwHgm/m/E/KvRtj12ELAipNT5oC8AbKFZzfomJjlgxqIvRsIxK/MkqRtnWv9nKEm5JZKT8TYUnDpdhgFl7vW+JQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2017 17:33:50.3457 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR07MB559 Subject: [dpdk-dev] [PATCH v3 5/8] doc/armv8: update documentation about crypto PMD 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" From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek --- doc/guides/cryptodevs/armv8.rst | 96 ++++++++++++++++++++++++++++++++++ doc/guides/cryptodevs/index.rst | 1 + doc/guides/rel_notes/release_17_02.rst | 5 ++ 3 files changed, 102 insertions(+) create mode 100644 doc/guides/cryptodevs/armv8.rst diff --git a/doc/guides/cryptodevs/armv8.rst b/doc/guides/cryptodevs/armv8.rst new file mode 100644 index 0000000..ca8781e --- /dev/null +++ b/doc/guides/cryptodevs/armv8.rst @@ -0,0 +1,96 @@ +.. BSD LICENSE + Copyright (C) Cavium networks Ltd. 2017. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Cavium networks nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ARMv8 Crypto Poll Mode Driver +================================ + +This code provides the initial implementation of the ARMv8 crypto PMD. +The driver uses ARMv8 cryptographic extensions to process chained crypto +operations in an optimized way. The core functionality is provided by +a low-level library, written in the assembly code. + +Features +-------- + +ARMv8 Crypto PMD has support for the following algorithm pairs: + +Supported cipher algorithms: +* ``RTE_CRYPTO_CIPHER_AES_CBC`` + +Supported authentication algorithms: +* ``RTE_CRYPTO_AUTH_SHA1_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA256_HMAC`` + +Installation +------------ + +In order to enable this virtual crypto PMD, user must: + +* Download ARMv8 crypto library source code from + `here `_ + +* Export the environmental variable ARMV8_CRYPTO_LIB_PATH with + the path where the ``armv8_crypto`` library was downloaded + or cloned. + +* Build the library by invoking: + +.. code-block:: console + + make -C $ARMV8_CRYPTO_LIB_PATH/ + +* Set CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=y in + config/defconfig_arm64-armv8a-linuxapp-gcc + +The corresponding device can be created only if the following features +are supported by the CPU: + +* ``RTE_CPUFLAG_AES`` +* ``RTE_CPUFLAG_SHA1`` +* ``RTE_CPUFLAG_SHA2`` +* ``RTE_CPUFLAG_NEON`` + +Initialization +-------------- + +User can use app/test application to check how to use this PMD and to verify +crypto processing. + +Test name is cryptodev_sw_armv8_autotest. +For performance test cryptodev_sw_armv8_perftest can be used. + +Limitations +----------- + +* Maximum number of sessions is 2048. +* Only chained operations are supported. +* AES-128-CBC is the only supported cipher variant. +* Cipher input data has to be a multiple of 16 bytes. +* Digest input data has to be a multiple of 8 bytes. diff --git a/doc/guides/cryptodevs/index.rst b/doc/guides/cryptodevs/index.rst index a6a9f23..06c3f6e 100644 --- a/doc/guides/cryptodevs/index.rst +++ b/doc/guides/cryptodevs/index.rst @@ -38,6 +38,7 @@ Crypto Device Drivers overview aesni_mb aesni_gcm + armv8 kasumi openssl null diff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst index 180af82..c3e1f56 100644 --- a/doc/guides/rel_notes/release_17_02.rst +++ b/doc/guides/rel_notes/release_17_02.rst @@ -52,6 +52,11 @@ New Features See the :ref:`Generic flow API ` documentation for more information. +* **Added armv8 crypto PMD.** + + A new crypto PMD has been added, which provides combined mode cryptografic + operations optimized for ARMv8 processors. The driver can be used to enhance + performance in processing chained operations such as cipher + HMAC. Resolved Issues ---------------