From patchwork Fri Mar 3 19:36:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 21308 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 678E1F974; Fri, 3 Mar 2017 15:12:22 +0100 (CET) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0078.outbound.protection.outlook.com [104.47.40.78]) by dpdk.org (Postfix) with ESMTP id 4269DAB08 for ; Fri, 3 Mar 2017 15:11:45 +0100 (CET) Received: from BN3PR0301CA0012.namprd03.prod.outlook.com (10.160.180.150) by BN6PR03MB2948.namprd03.prod.outlook.com (10.175.126.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Fri, 3 Mar 2017 14:11:42 +0000 Received: from BN1BFFO11FD012.protection.gbl (2a01:111:f400:7c10::1:151) by BN3PR0301CA0012.outlook.office365.com (2a01:111:e400:4000::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12 via Frontend Transport; Fri, 3 Mar 2017 14:11:42 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD012.mail.protection.outlook.com (10.58.144.75) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.933.11 via Frontend Transport; Fri, 3 Mar 2017 14:11:42 +0000 Received: from netperf2.ap.freescale.net ([10.232.133.164]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v23EB3lc010625; Fri, 3 Mar 2017 07:11:39 -0700 From: Akhil Goyal To: CC: , , , , , Akhil Goyal Date: Sat, 4 Mar 2017 01:06:41 +0530 Message-ID: <20170303193648.30665-12-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170303193648.30665-1-akhil.goyal@nxp.com> References: <20170120140509.4495-1-akhil.goyal@nxp.com> <20170303193648.30665-1-akhil.goyal@nxp.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131330239026764658; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(336005)(39850400002)(39400400002)(39450400003)(39840400002)(39860400002)(39410400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(50986999)(5660300001)(76176999)(36756003)(2906002)(33646002)(2870700001)(189998001)(5820100001)(47776003)(50466002)(85426001)(6666003)(6916009)(2950100002)(50226002)(8936002)(305945005)(626004)(105606002)(77096006)(356003)(23676002)(104016004)(8676002)(81166006)(106466001)(8656002)(2351001)(54906002)(110136004)(6306002)(38730400002)(92566002)(86362001)(4326008)(53936002)(1076002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2948; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD012; 1:g/+gLCBeDE+UeZ0sinxQRQsqP9WGT3gGgqs8bjQTASUPsIZGQUJADOMFIAnsAs7O38luIP/rJaSnH/U0PXb0dg7mKEURutJn2dfmSOwCxxUrJajemKPppoYJz86edL6WgtVseaetK+qzTRNtveOBmgJyKyhTPAZgLKWG1/QeKBlTRyOT4hgXlhTYAiGm+Su1gj5sixEkVN4reTpz5VcsihvWIKbhIBMIzAnAoC/ajlKAyLULDDm9GpPzlRb71vVOhsynlvhB3y0YiBNkAYXk5ldXPtaCA4m4/YpNkeX3wQFwCOuasLKydn1LqFAamFIIvKqPZFGfmCCi+SWNtyxaW/IpzMH5d8uyBQGT6oRRJio41DxmUlHHcu2DaISChSLX3ynzsAllQG7Ac26SMMaFxUEiCIxJZ+1TViaMOafJhJQTWn3/fvOBBJIoCn4j5Lf12002qbnXDkEJ6uHxyiQtTSfgZ8+GQVlsJj0eVOG889aye3dVYDiMuGpnrmy+px4dT017CMp0ImeISiX2fwGfV1tBSrsWPAylHjhDTQxnqHTKkcIUOG0DhufCOLAXaK7s6k7hrsiwarAzfusqYWS61v5QemZ+6e+BCLG9LoVi1mLFC4L+W6icNnAzX+UDZQ+qqUy+0b2BUKWzAZAZoowtsVMFEckwmCop9eXhWHhRmbP7CyLcHMlyqM8pSxJPV3wVn2qHrv/Am2vUfVtnI75/erS349i6n4rszKnWO2Csos1LnmLpdC1Hw3ftrEFng/oJ X-MS-Office365-Filtering-Correlation-Id: 5941a57e-059f-43aa-58b0-08d4623f37e7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR03MB2948; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2948; 3:9KOalch9n2YFzUxEPI/b1pboWo0tZPmWHuYcXeO01lM23DngLSuj6ooMTb2azdilzjRK7gHvwZkKUpJRyz8uL9cuT+k4u1/G6KxeLKVHNlmP8v5RsyqamCkaO20DakIIcpLI74R2xRu30Kwyy0yHpRTrkCu1zgTys0ShaFSZyVQD39yBxV99wX2bJdB1Si4cAqkACujWijxZaRpMWqY00fUsKjVv/DUJ6f0vX5YkJbsJr67ilAiac1bY4PSiKsmDnaSVCrkJLKd1jP5ByxwrIUbJWf5bY9Ro5hn1JNhhvyCBbM6bqaT3ZoLDvK87y/PR6zSumsIqPuEkp8vAKpZClAvZMVy/9YtEBZPWj5wRiilh7HKe2m4vh/kl5no6WkC5; 25:lw8E9jfJKckxPo3bv4QFGdbGctsij9RxC2I7tYoF35hGENRKhge0Zlmwzl5w/Ar6/t4RoLAd7Z7FnBKyh8h83iWZJqhMuuq2H6s+9ygzQSJ5hG9H0EIt88aGYQuC0wdKDqJYgtblrreDk/TsjzOeSbC9N6352TGadzvzD5fTEvFaZ7ia7BQI+f2iOM8x+UJNTTPY/4n5WGszCEbiAGlXPdHT5V/4kCdtXhAIuy04Y69CEpbpEfHyykGL7Z2DbB7pfoaWJSYyvvLUaEniB0+eCw8yw/eFb26vsz0XuzvLYdbEW2Onc7Le/FyuuvXbQKtjNSEeGjNZI64u1J6kd24Mj+1g0rPYO1e3oYc8CuW6LgkdDTZE9uV9KsjXWHRg5260AOLmBu3yw19fOEkeeQVlgtL5GS0Jg2MV6casTe4ttGOZgI4RbTYA59CWiUKOwrC3UqP/QCwtd0jJ1sJ7pbA8eA== X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2948; 31:wGh5oV9/ItgHupOdZpBeeOBZ+zjk3gR5KvcjV/K4BunTZrhIraQer9Pdf9PBLtaKL/6PIlaEw5yWS+KXyaowiobb0dv3GHkUmwTdh4sVyjZqas6RP99AliZ4w7Kbhm48JM0Ul8J2VbJj9E+PZ9+8SyLHuARtj4oWqy0t5VLDgFlUE12GdVGxKXAina6baJeTWBMC9dk1Qi5rWCcIIBt1Iqp5xWGIreTCm9FZY04dIxH1DlSH3u0gCJeMpw8oWOZY6QRmocar4HNpzPMvXCFoKw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(192374486261705)(185117386973197)(227817650892897)(21532816269658)(264314650089876); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13017025)(13023025)(13024025)(13018025)(13015025)(5005006)(8121501046)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123563025)(20161123561025)(20161123559025)(20161123556025); SRVR:BN6PR03MB2948; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2948; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2948; 4:fSrEPhVRVCylUBPRUZjJr3rBjEbtd6pEPK+Fjc6QmmBhwkeO2U0sDKMBs/Lg/R4X0AsRT0XkIAZvwOD4dB2BFxOKIA/Kbathvj4SBGPcOm/fQ3R2qTgSk68yedh6gXnOe/6Dq+bNYlJSxVvEwOEYRhi2thwaKDSjwGQv/BLrU6eDN3cQUXty55FYSxBqygaHLzhkEDh8Rw2Py9nsYR45O7L7vgjnql6empbSckrDTUoU0/TJ/Ae4/7KYYDjc3YS9SbknX80lFAFwdiOYZe3lrE5h/l1QLPfASj2Za5j3ds8WeIBNr0AqMDRSxBNiZ84GN+JI04y4N3UKjxOvnFTnt0SESLa+J6QV+iXAzla+7Tlofm4B4HxjpPd8ilT65zFazea/Up8bJwCS0bwKkQOhqpaWDwZBvyECqBvtDcR5BZU6XQG9ymvVw6x2OhSd1LUCGLjCE8EctJBad892QKmnhiEE21LUllKKjim+K7k+oukOSf9yOIZSHE6RHeWf1t5flNEJrnFFgBfroLYAE78ZXykDm29B5580iJlAT9mb2Db+3bzQDpXdwH64Znlq2a8u/gcxPQG89Yrpdcq2ozNeP3sKkBQS1g5uDc7oeq607VsaaeE+DWugSlCm4AulxwufezRtzFgOJ4I+LcClK7MsAT/kG+DqufUowyUyWBLKRD8/dGBzTMnrBVcR+sgJiOsJtS97D/6MyIShAdE/Yz6sOzsna29VTc+eS6zEQgbakyNiD2XKY2zTCjZXvgNskb1up95kKvzoY79EZKV8zUEn07wUn2zYSdKroiL+uZvdMiNcDmufBT5uLQ5vE62uhjuMu1NtHsSw6d8rFIieK9T7GQr29nYthQoJkd+eOQRBCVgdnXBcJRSXMKangqvL7b6paBmbQfTVbn2RRprec2iNHeAYwCVnIbau3Q93Bz0Q7lw= X-Forefront-PRVS: 0235CBE7D0 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BBN6PR03MB2948=3B23=3AFhMD?= =?utf-8?q?feU/uiXcWmOKsgc9cZA3D/aIVHk6XFeHbLomsN5Xy7tl9BbFb1YX0Xlw?= =?utf-8?q?ncYnPBMpKeDFfVIVKp/oYBMzhDsiOWlf2zNkprjDIPcZN9/XNvi+O0ex?= =?utf-8?q?q+fctgdEfwuwujhd3Wy4UEYa5D8YquLTIiPXOIcxs8YqHC9hXb0a43vz?= =?utf-8?q?iFKws0foyGzfmiV9elNzehZ86uN2ZAfcnoLSZvFDyEtq95V+Esbf3dQQ?= =?utf-8?q?uPYjVi42TcKAvE7/KWZZ4GUk2D2sUwi4Ry4l1fhIlRhy4qRUP7ZRITjm?= =?utf-8?q?BBMFmJWHWA1gKpcfoH018v+/rURQ/GXbk8mppnk5MSlxfs3DhGblFsya?= =?utf-8?q?mPvweszdSx3xSvVfyDuU4FQiJheepEVeMZCfXALmIxCW0cQ0s/u3+B6c?= =?utf-8?q?gJGxXTPxiDU+ky4AAoA5XW6VqMHaDn49KmRIC7cmwKDETiGqA/0UPeCe?= =?utf-8?q?6EcHqLmU+vHnVBXUYPZb8YhtYaB5uSXc9WHr9KzzxUr5C21I+B9igLnI?= =?utf-8?q?WOVGhQFidcWijkR7cFTWY5nQG+qpbrUYMZhRUVkzmNV0KQ72T5o4nnwG?= =?utf-8?q?sQkofrqON8vo2OCgC6KZg6sSBnB/YuJ8PLMnArF297c2iw1NuMe91Iqa?= =?utf-8?q?I7UV7zhOzbOsxXOYggI+7XQIGZOv8VobBBrZVwSzbukHX/lsAKb0noff?= =?utf-8?q?YyjKlsOEkmtq4obDQNbaiVXo3r1hxXbBYLWkLCd0VVqDJen0KWmhhCui?= =?utf-8?q?fj1O9v8mmfgUqd/oIELGolbinW9zpxopseLobRXgy40zi+lsTSr9PxU9?= =?utf-8?q?VtJ3nABd5+5J5bCj8cMw9o5eoLfUpQOTW8HWFeCmFufKUPoGowL9PoCG?= =?utf-8?q?NgsL9aSF1rEkj+5rlnwE8pStU0MV7xXQzUeKKz8ISA6b/RO1JkjReYq5?= =?utf-8?q?4x9Z7UDxDaWCXSeNjBDcNlBtGBNdYzoL9motR92DcaoNUgy3xd447oEZ?= =?utf-8?q?wmKE3svxYt9xu55oALFHobLLrdyPzuzWa+JzcP90u2fmiJg3brlK/U1W?= =?utf-8?q?/gWP2yzoi3oWxpSiozHFFkVxs9pdADz6iEwALUa/n5veZmzLiMAdIpcv?= =?utf-8?q?Mg08Hp7h1OPz9csocVuDrJqtZmkbIZiovnQ/2Njp5GZ6b7vXYAF/ZOKb?= =?utf-8?q?NSvkN31u8g2+CojqZhF5CmXbqhiDhohZGhWp+DFmmwhVBwJtDJ9adWZ6?= =?utf-8?q?MaQYqDI5xymys0gEOLxwKQdz4rUJr9+hU2guZfHteHmhtiH1kvPn9pP+?= =?utf-8?q?1sr/SWn0WcqtpRakHLZnyH47sp/Hf7bKzC09ioIhXIKMrl2TUITx7ODc?= =?utf-8?q?AKqaWXf82vkZowm/pnJdez1R+I6dMhgbEm+C9Li+DQVGQLe3zSB1?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2948; 6:usNmYaUp42W4iS8W1su0tI1gXcosu93ev3tKbfpyFmcjndPeq/WtBjwQZey0mBX11FWyBOS70wJQzgDwd3YCpPpL/g8PrWV/HRKYO/o03Xpti0KQemOpNBQpBhIY+v4phHHVpRkTHgPL7a6WyA/METye6+bbj9e8BOQPiIsh+PE7G8Xr9xTLkj5Kja4sfMHqEU61Fv7wKvP2mSNkgc9wKzmVTkdp4pV/YelZgG4H2xukZ9jZzomxjvcv6Umx60rTiHrRZSXvVn4uydyXHIT3osMjjNV46g4n8I+fe+mhueAtWZRvphJzBKx57Trld38iggD7xXaldWy4kkkKqMxL/68zxbVnwRBvRxZ5ygIZDhuePd+17eujd5bVn8eRvWEYVO6WubVzpYIqGBlbDheQ/1tatoeF8mgUF61v8W1qGlY=; 5:17CCyNwaiRwkMFPTRE/k50a8P1ts7N9rdwr9q9r+2hHyK55vaLBlK52n4rNkhLLtw/IR+HJKYS6R3/x7tVtt8PmRgSzAirdZ/xWLNPYOrHevsQ+tcwR4vgrdknMdpvg+8kCkGEcplM8EhzthLN9+qJk9dmFvFYefl4vocKNZVI9SGtnI7Ksu4osi+Vkexyy/; 24:YZWXWcHezlKYqB232w6as/yScpAPC8lM0nXU3vnpyScpOicE8WmRvOholezqINJf3GkN0xSuvqDg57ewk+LtV+FZM5AyodAF5NG73OIzM1o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2948; 7:jswJXpV9YeE4Jns2ERjhDKiIB8RuFdIkMnDEnU9dmgE8L14uQsq42jtSiTkmgeidKwXUP5iWtj3EvEXLvumFw92czC/Cghxn+nNJYzsbSmnd9jXVCqnmOmUZ9oe2CB615F2jvmq/rEIDojWLJ9jWEZB9UxE5ttIrUiNRAv95h1Uqe61ULpZxl1i94AFYE6GMuxDRsYmKDIo39DwSDLVj6VlXLbAabJXuQYrzIlDZjvCVb59IOmgNINOBAgNCD98betEc2hBnXHTaGf5lXlufQweP14uTQfiZSUUXo+oK0IL1AbHHKt+Il104PopklYHuL/LqoNypdUlgt97cSEEh8Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2017 14:11:42.4112 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2948 Subject: [dpdk-dev] [PATCH v4 09/12] doc: add NXP dpaa2_sec in cryptodev 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" Signed-off-by: Akhil Goyal Reviewed-by: Hemant Agrawal --- doc/guides/cryptodevs/dpaa2_sec.rst | 232 ++++++++++++++++++++++++++++++++++++ doc/guides/cryptodevs/index.rst | 1 + 2 files changed, 233 insertions(+) create mode 100644 doc/guides/cryptodevs/dpaa2_sec.rst diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst new file mode 100644 index 0000000..63a8ee3 --- /dev/null +++ b/doc/guides/cryptodevs/dpaa2_sec.rst @@ -0,0 +1,232 @@ +.. BSD LICENSE + Copyright(c) 2016 NXP. All rights reserved. + + 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 NXP 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. + + +NXP(R) DPAA2 CAAM Accelerator Based (DPAA2_SEC) Crypto Poll Mode Driver +======================================================================== + +The DPAA2_SEC PMD provides poll mode crypto driver support for NXP DPAA2 CAAM +hardware accelerator. + +Architecture +------------ + +SEC is the SOC's security engine, which serves as NXP's latest cryptographic +acceleration and offloading hardware. It combines functions previously +implemented in separate modules to create a modular and scalable acceleration +and assurance engine. It also implements block encryption algorithms, stream +cipher algorithms, hashing algorithms, public key algorithms, run-time +integrity checking, and a hardware random number generator. SEC performs +higher-level cryptographic operations than previous NXP cryptographic +accelerators. This provides significant improvement to system level performance. + +DPAA2_SEC is one of the hardware resource in DPAA2 Architecture. More information +on DPAA2 Architecture is described in docs/guides/nics/dpaa2.rst + +DPAA2_SEC PMD is one of DPAA2 drivers which interacts with Management Complex (MC) +portal to access the hardware object - DPSECI. The MC provides access to create, +discover, connect, configure and destroy dpseci object in DPAA2_SEC PMD. + +DPAA2_SEC PMD also uses some of the other hardware resources like buffer pools, +queues, queue portals to store and to enqueue/dequeue data to the hardware SEC. + +DPSECI objects are detected by PMD using a resource container called DPRC(like in +docs/guides/nics/dpaa2.rst). + +For example: + +.. code-block:: console + + DPRC.1 (bus) + | + +--+--------+-------+-------+-------+---------+ + | | | | | | + DPMCP.1 DPIO.1 DPBP.1 DPNI.1 DPMAC.1 DPSECI.1 + DPMCP.2 DPIO.2 DPNI.2 DPMAC.2 DPSECI.2 + DPMCP.3 + +Implementation +-------------- + +SEC provides platform assurance by working with SecMon, which is a companion +logic block that tracks the security state of the SOC. SEC is programmed by +means of descriptors (not to be confused with frame descriptors (FDs)) that +indicate the operations to be performed and link to the message and +associated data. SEC incorporates two DMA engines to fetch the descriptors, +read the message data, and write the results of the operations. The DMA +engine provides a scatter/gather capability so that SEC can read and write +data scattered in memory. SEC may be configured by means of software for +dynamic changes in byte ordering. The default configuration for this version +of SEC is little-endian mode. + +A block diagram similar to dpaa2 NIC is shown below to show where DPAA2_SEC +fits in the DPAA2 Bus model + +.. code-block:: console + + + +----------------+ + | DPDK DPAA2_SEC | + | PMD | + +----------------+ +------------+ + | MC SEC object |.......| Mempool | + . . . . . . . . . | (DPSECI) | | (DPBP) | + . +---+---+--------+ +-----+------+ + . ^ | . + . | | . + . | | . + . +---+---V----+ . + . . . . . . . . . . .| DPIO driver| . + . . | (DPIO) | . + . . +-----+------+ . + . . | QBMAN | . + . . | Driver | . + +----+------+-------+ +-----+----- | . + | dpaa2 bus | | . + | VFIO fslmc-bus |....................|......................... + | | | + | /bus/fslmc | | + +-------------------+ | + | + ========================== HARDWARE =====|======================= + DPIO + | + DPSECI---DPBP + =========================================|======================== + + + +Features +-------- + +The DPAA2 PMD has support for: + +Cipher algorithms: + +* ``RTE_CRYPTO_CIPHER_3DES_CBC`` +* ``RTE_CRYPTO_CIPHER_AES128_CBC`` +* ``RTE_CRYPTO_CIPHER_AES192_CBC`` +* ``RTE_CRYPTO_CIPHER_AES256_CBC`` + +Hash algorithms: + +* ``RTE_CRYPTO_AUTH_SHA1_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA224_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA256_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA384_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA512_HMAC`` +* ``RTE_CRYPTO_AUTH_MD5_HMAC`` + +Supported DPAA2 SoCs +-------------------- + +- LS2080A/LS2040A +- LS2084A/LS2044A +- LS2088A/LS2048A +- LS1088A/LS1048A + +Limitations +----------- + +* Chained mbufs are not supported. +* Hash followed by Cipher mode is not supported +* Only supports the session-oriented API implementation (session-less APIs are not supported). + +Prerequisites +------------- + +DPAA2_SEC driver has similar pre-requisites as listed in dpaa2 pmd(docs/guides/nics/dpaa2.rst). +The following dependencies are not part of DPDK and must be installed separately: + +- **NXP Linux SDK** + + NXP Linux software development kit (SDK) includes support for family + of QorIQ® ARM-Architecture-based system on chip (SoC) processors + and corresponding boards. + + It includes the Linux board support packages (BSPs) for NXP SoCs, + a fully operational tool chain, kernel and board specific modules. + + SDK and related information can be obtained from: `NXP QorIQ SDK `_. + +- **DPDK Helper Scripts** + + DPAA2 based resources can be configured easily with the help of ready scripts + as provided in the DPDK helper repository. + + `DPDK Helper Scripts `_. + +Currently supported by DPDK: + +- NXP SDK **2.0+**. +- MC Firmware version **10.0.0** and higher. +- Supported architectures: **arm64 LE**. + +- Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +Basic DPAA2 config file options are described in doc/guides/nics/dpaa2.rst. +In Additiont to those following options can be modified in the ``config`` file +to enable DPAA2_SEC PMD. + +Please note that enabling debugging options may affect system performance. + +- ``CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC`` (default ``n``) + By default it is only enabled in defconfig_arm64-dpaa2-* config. + Toggle compilation of the ``librte_pmd_dpaa2_sec`` driver. + +- ``CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_INIT`` (default ``n``) + Toggle display of initialization related driver messages + +- ``CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_DRIVER`` (default ``n``) + Toggle display of driver runtime messages + +- ``CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_RX`` (default ``n``) + Toggle display of receive fast path run-time message + +- ``CONFIG_RTE_DPAA2_SEC_PMD_MAX_NB_SESSIONS`` + By default it is set as 2048 in defconfig_arm64-dpaa2-* config. + It indicates Number of sessions to create in the session memory pool + on a single DPAA2 SEC device. + +Installations +------------- +To compile the DPAA2_SEC PMD for Linux arm64 gcc target, run the +following ``make`` command: + +.. code-block:: console + + cd + make config T=arm64-dpaa2-linuxapp-gcc install diff --git a/doc/guides/cryptodevs/index.rst b/doc/guides/cryptodevs/index.rst index 0b50600..361b82d 100644 --- a/doc/guides/cryptodevs/index.rst +++ b/doc/guides/cryptodevs/index.rst @@ -39,6 +39,7 @@ Crypto Device Drivers aesni_mb aesni_gcm armv8 + dpaa2_sec kasumi openssl null