From patchwork Fri Jan 20 14:05:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 19823 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 2ED812E8B; Fri, 20 Jan 2017 09:39:58 +0100 (CET) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0041.outbound.protection.outlook.com [104.47.37.41]) by dpdk.org (Postfix) with ESMTP id 9A0942BBD for ; Fri, 20 Jan 2017 09:39:32 +0100 (CET) Received: from BN6PR03CA0053.namprd03.prod.outlook.com (10.173.137.15) by MWHPR03MB2477.namprd03.prod.outlook.com (10.169.200.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Fri, 20 Jan 2017 08:39:31 +0000 Received: from BL2FFO11FD022.protection.gbl (2a01:111:f400:7c09::181) by BN6PR03CA0053.outlook.office365.com (2603:10b6:404:4c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via Frontend Transport; Fri, 20 Jan 2017 08:39:30 +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; nxp.com; dkim=none (message not signed) header.d=none; 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 BL2FFO11FD022.mail.protection.outlook.com (10.173.161.101) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Fri, 20 Jan 2017 08:39:30 +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 v0K8dNV8021447; Fri, 20 Jan 2017 01:39:27 -0700 From: To: CC: , , , , , Akhil Goyal Date: Fri, 20 Jan 2017 19:35:00 +0530 Message-ID: <20170120140509.4495-2-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170120140509.4495-1-akhil.goyal@nxp.com> References: <20161222201700.20020-1-akhil.goyal@nxp.com> <20170120140509.4495-1-akhil.goyal@nxp.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131293751708572554; (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)(336005)(7916002)(39410400002)(39840400002)(39850400002)(39400400002)(39380400002)(39450400003)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(36756003)(2876002)(6666003)(92566002)(1076002)(110136003)(4326007)(85426001)(2351001)(23676002)(305945005)(105606002)(356003)(6916009)(2870700001)(2906002)(2950100002)(6306002)(47776003)(106466001)(5660300001)(50226002)(81166006)(8676002)(8656002)(50986999)(54906002)(33646002)(8936002)(626004)(81156014)(86152003)(50466002)(189998001)(53936002)(104016004)(86362001)(97736004)(38730400001)(5820100001)(77096006)(68736007)(76176999); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2477; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD022; 1:1FeJoez5jXIie/6lp2EYTLucEmoceqPdNhazCCQxKsTrCGXCnmdCB5pzTHJ2DUxbTYq9PaMilPN0irRYdUe853suiVhPU7U5GknRpdUQXgfGxd7fls757PwVJOlpvIfVg1V1hwWbsgFHSFOdaImXh5uh7doRxAd0SOG3DsLpF4/YMJo97qPh9BLkiMT2GeZst41YYsmGlCqUtr1qSBb/K6tUS0a9Dl3GxFzE/Ciwg7k34QFd8N215YilK2mYccpfUB1c6/TcZ0i3pCyy8Sh1bC9Zwb7x60cNYaA4wRK6Q90DDRfWFwsKymBEA9cvQ05fStKGpb2s5/WuxkpQyUU4ZmFkao5WiWTc/hr61PbPKYW5ys3YzU/pQcQABBYQEa6q6417zVvUaBbNVzWLtGHCDcIOe1kfeyoCmLFpxYx2HGmoTE5DAXn0bPevlkd0DLmZcxT5xZ7BSzGT/JrTzHk+IvMqsGUZBakmvdxWKTkbtEsEdQRnxTvuFU9Bzpi4ZkqYBXi6x50LBSB6Z+gxmTZrTP7RrzBhE8ssN/NdkRxGZnuzkUaJDUy+96PL0cdA55Xf8HW5nQb8n/xjFYM7RwCDiq0VKpZaXV1ioR02+w/vk0t6aOOiRJtlLPvD6HEhP4WoMCGvjqQr27Favf1B9Tpbbv/R9aSnFRxJj1pqdWJKmD/+82cMs5kGQAiiN0T+jg4Vh04uHb0dRKvjrs7mJ1hJh1DtZB7K2wwM6T2wAoMRgMXfQ79EW3OXdxOpFJusuK0w X-MS-Office365-Filtering-Correlation-Id: 161eba90-769e-4aa4-fa29-08d4410fda45 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:MWHPR03MB2477; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2477; 3:j4VJNpz27BAkV49JuAP00IKBx1bsVAEjF950u9amHqnrm+xSQFy13wNeRUYX5oWsGq3sGXaGecqXGgxFg5ro6Iu9aj/zcKV71WzIJzyt+PAnLLlSmvQce3Bs8jbKJcAgHoliTwi5uCNy93FgLX30CHMtQ9/hNwxaFftvCgeLhx/5E1QjHitZlX0Hjg6LcBXaP/HYQMBsyjowY5/7YO5LZnF2S4y5EIkS5nKcYONWBuf875UbfRdVgBhaewm8JnxzjwlpIQSx7QKEsyd+j9uUz9QKqAOpy8CtXK2ncwLD2aSsLWmCUBmFKrRwE+HK6T9YC9ioAjG2ZPUqvif8Nuh2A4T7yY/1C7yr+TaKxcTlxyU9YZL0GxU5ZjmIapFktEMk; 25:DU9YtGswr/gLxaYm+Gvqbxqb18kh0/LzjPYIyeVc+A0m6kPYpEpIktd/shDC5DbXGmHHIQ4JBxrnW0/1tSj05bgLe0hl2PMzmu/fJrP18FoaYvgGeXf5Ic4kj42An7r2pxJxxxPT9DhRJCg62hObR429VhC91Z3l8zAZyy72BsdRFd/H8QrnTTKueZostWDmdzj563DpJF6can2rjdCsSYO6i2BNcjFMIBqt7D2f8IlBdNG43kynvse6HxKK2ZApuEr8tf5ckNITuREukEgBLRZKDeTTMC04zu+x4UkeNixB2chRAvlZ5qv/DzbIwAmhUVVvHMtBDYOV0zHlwQuvrCyU1RNEKZQozkLYirBZ4LRlIduIlHajWw1MJcGXmrlJLcLz+ClF6f2teF3OecPuvF2AxOIEHh1QiR0j+PRxcaDsF51PppC1AeattnKKG3VxbL7im6/OG+0/Q6vYUUNYAA== X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2477; 31:U3xfdHT1aWRe2wmINRYjXeKjEqIAOQBU+j5q/W1iJTvbZ6A0fkcOlxIV5wkZViI1kKi6q31jNymP5wOAPPJWVfHVwX4mQ6416bGYG6Txj6CjNyfHXyI7K8RkPhG6UlcThjR4fHF+q5jCGR55nktkK76zU3226k9/Y86GMEOVBhfT5U3DeYZhgsjrfiRzdo6+M3lqbkmjG+jGIvTts5MKsLMw3wzlXPXmizOOHIo7TmuTon+ONMviOEKVE+FYM+EISwGtCbCQGgb6mBTFvApdtg== 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)(5005006)(8121501046)(13017025)(13024025)(13023025)(13015025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123559025)(20161123563025)(20161123556025)(20161123561025); SRVR:MWHPR03MB2477; BCL:0; PCL:0; RULEID:(400006); SRVR:MWHPR03MB2477; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2477; 4:3HXEbiCDI/rFVUoVSHylNoi5AZCLyGYilRZGQAUEE3JbEDlZWgDQBu1AEgkn8Qoz9PEr+gB+nn6DnaPeQ3z7umafTAexadhk1UNmtrZp9D//D09lflGHvb8saOkqdm1UOU6X9/rqs+xp3DVHLN/K7lmNHttazb06fF2gV3ECDZDUxxvT2nCVPS2jhxlkpUy5N7WFFzB0+/uJL28nIXHg1D7KhRaHW2jWX5dCilPec4Hue/ZtymrtfSac0eBsbEvtPdVDQCD7VTAhsjnWbMjyUeKSH6V+0RORN+5JhQfhWpjI1FPc+KX7r7cDGcSdJ2JSjtS82nGjEspJa6zen13py0yeOLf2ShNelLYhL7gZh1W8k1LjpNutCKwZA9zIO8QSxIZcyyjvS8quKgOgvFaI7fTpkOMfaqBiX/a+IBH9JdKQ3Byiwcqi9mOwKUC8reuALzEK7lqJhNgNL+u2Xu99IIUfFP+jB7OWgRoqysNxlNmUs80ldyy39ST8yL+iLndXUQ3s/vEMhITCgIKdmKQHnM0L5HNZ79ym8caOvsOrta2pwtjtlvkHivmgPB4xj+pWDrjkKfn03zrbQECiBp990B5Osfl25UPuUFjlvtjygMUsMe6ytRFKSQi1MU0HNAUYJvR4+UVllBEUPNYhOenSHRcY9Ou5InP2sHjQzm5NrF+Hc3rP1UhznwmF3HLsyssV4oRc/F+M9QtIWM1jHS08swteI0AWouv6pd/ffkT3+j1jUFYoLIwdJCvdNTUXF3hOWHnVekLaHjThjIK9XbhqJ9fDfChSKA+NF46RFaXyoWDvYinlKDDBMCLTW0bDnIgI/ZIiD1lDLdFd7Tii7yYL0wDzSpAeoIY/TfWiXzjBz8SBC3MXUxtlMOBh6OcEsWdsetXyjI9u9ios/iB9U1P3qvNn7T5EkoQQRHOeWOBEgJE= X-Forefront-PRVS: 01930B2BA8 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BMWHPR03MB2477=3B23=3AXcmo?= =?utf-8?q?Way0LCVpZcMNBKtfY0pH5rEE49IaYzgCX69g1WA3YKbeq+Yq79eHWsAi?= =?utf-8?q?EKYNhiBEe4LRruiT0YVHGPtFO3PlPgL7Z43E8T35hyOKyFsGnG+NUXgW?= =?utf-8?q?1s/8v6yAsKjB2PlqDQv8uJ+Oh2078NZwWvSS9uet3cAwUgh9XDdOXprd?= =?utf-8?q?WLNAVsfaKo6dHiyW018X7eMNO8SvxuzsulOG2iDhLVu3bKXmDyGPd1ns?= =?utf-8?q?2RvUzEc5gZSVzIVAUYQTL3FPdJfwJkb13O4SdhLu2UdX5jgdAJ4VPRnT?= =?utf-8?q?q5wr6eB/75K8f82t8g9Y33UoPqqs97mHdzTXrnkMpYh+EX1RmCupoKJw?= =?utf-8?q?AfVwR69+a1V3UDj4RLwyXQDpMLTuH9iPc1T35G4O2KaVV6HDAUSbGyCB?= =?utf-8?q?LXSC+YcLJlJR7KTho3h0A0BHw/h+1F9iTkeoTbCNCB5/DHqGksRqwoAj?= =?utf-8?q?HUhk/drd3Jr9NynUmO2LRmf+m4oLPk1xVLGvw/ZMuw9ahyXhTzAhaVEW?= =?utf-8?q?AvZVb7Q3I4qRpw5ZxpBgQcOFfTWemvrekocamQeI0kF/znmXG9hpLCXV?= =?utf-8?q?mHw2af32yU2Eh4UCustyyWseclBeqHtULjfzrcEZCXBpm6QSO4Y6V4JV?= =?utf-8?q?pytx8An2Lmvdjq4LBrQVCcSKahbG0e4Plmz2dz5F7HovyqGC9qUZfc+e?= =?utf-8?q?E3+GKieCQxAGYL/+QZ+A61O9+NIwMoruV64TNxY1WwinOD+Ura2X5aqq?= =?utf-8?q?RpPVCv8ywZkEkZHMXox13Q+6XrpeLWrqy2L0vDthDFHGB1KT1Zu4NfVC?= =?utf-8?q?UIr1dlRAXjHcCp89NwHUGGf/TdwDwSRH6seadRgLHRy09+c38PkHmDr0?= =?utf-8?q?A1TfZIzv39mfUzloMtVhlgWJcgjWcjP+kceVwV+BTLNS9EMmtfZM7B63?= =?utf-8?q?S8vIIy1AlFVa4S2jGafbNd/PVDu1VP2XuNul2aFVeNbOO8IZKhoOm/ax?= =?utf-8?q?vZNo9kB657ZL5WR0eJTZQdbUoKTf7lrwxofZA9Rfxr07LWokcMhAkeGy?= =?utf-8?q?oUY+IEDQsLx31F4I8Ej//kljDq6vFWWyeJ6Kz4ld8OwX9+u7UQXrOyMw?= =?utf-8?q?MBnoidem4wApe4RKaN3fSxJg7B28SuEMHemfPze40Y1vmKSeThEm5NR6?= =?utf-8?q?h9FEihb0zc12uH7wO7vCM1c4eseWF+fs9mmfq0yqQsFliU5TrOFHVkE9?= =?utf-8?q?Qk5dGVpxMmpHR9DVjLlTWWMmRzJGQPurE7Osnjsyi1rMsnOKxkQorH+K?= =?utf-8?q?T8gF5kjnsZsTpbQOrQShNeIwXBrHRP0rOajglMmM30nFRifrljh31wvO?= =?utf-8?q?02S/BiPtzcE3reBhtrPeaoOcKzurAPQLr7PtWdtF82jJWvmwb6poXYyr?= =?utf-8?q?SU3EMsdpPdnzPVaQDbdb2AgCoO0Ipo/5h564HFg+4Zu2KK2aD2XJ5Cgu?= =?utf-8?q?nKUi?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2477; 6:a+olLcR1Ad4TJf0EM0rxxclBIUGfnndh+8mRsAuIwUTmWWaXajShzBORBBnfQzgUerRAUhKp2k0QCvc+RLpyfeMjEM0QdUHBG4b+twzQXPhBo638LYklY+Eo4irO86/I4yZ6A85rAE8WT3V8y4YeJoUmISuSRnjshvqQT8VQTC1MZlw5kF8EaDa3zqIVHglKVs0laKePXMXKuzAdDikpLgur1DrFS19SJovBLixh+qrLqBdfHYA39mruZN1eu1gVbXQ3oCXMib3/xp2Ah47nm1NBA0KNR3grcTigHyGbduQr8ZRNLHbEutFchpJIAHUF3qywtUZOr2jknMIrAAUpYRkAHer7krl7YXB9Z6ejsduwJq3+hmBYLfFn9VSfMfYNt+nH7lZNcne8VwC/4nK6t7x9kA8tBQeO76CDWEfkg/pGW0+Yy/H/YIONY1qJ2ZCy; 5:UfBAyelbFdKZeFYUhXqaxERa5CAofbih6Gfp55viQ8tgasc99sHL/irCa64xmTU3Yr8UdHUibAb9YvJ4zEdP9fyDsAHizE0mhw3TNwX0BXYnGn51aGaenR/AIB2/HiLc8r6Nk042vWbpbhj6PjUr5e+8arJlfDyJltYwjLnuICktNJQkcYnfL51iuak1yrbz; 24:KQdJJOFtEz65+++C0yBwXX07kSeqUn/rmHBTj9N+6QQMgsjquZ+HnBy6B3RNgxX1Y7HSlcRIyPFs9h4vOU+7CoSE1XPY2liieL/iOMvT31Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2477; 7:FdnVFPllD6vVRzzpPeoUfUyk9//njkDxUMv7bKTBAfStVsrGOC9N8x1wcizrG1T0JFmTjupz9GSkjdldhxj4+GrFHHOTPAMGf91VRdpS/7vIiFZR7AWr1oMHBZ3ksB/mKGhY2M9NBcNK46hx79t9/ezd7lfgUUTVac5jB90BlcCQLkBnXfIGoQrFEU330rDSHKSiHSXCUPi4SzZxoU2RK3jMxDihJHIYgR5nEqZQWXlmIZVloSQcjIGApLLYy7skGktxF6V8Upxy9K662p13w6xq+zU8lZU0AQbPAfsahOINhq6pVmMx8vGzhLs9cWHRtMzG4aLNO4JgK8VoznQjuY3HJeMiNm0SOXeG0QUwvZtiVJEXSkOk4V/GeJvx7M8BoBx1f8GrOQkbAM+HGL2nXJ7A+v2D/bP7h3EwapBOEMShYV+heoQYrbYH47mbm/aXMW/tdgK7Ji/TdLobApnf+w== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2017 08:39:30.6856 (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: MWHPR03MB2477 Subject: [dpdk-dev] [PATCH v3 01/10] 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" From: Akhil Goyal Signed-off-by: Akhil Goyal Reviewed-by: Hemant Agrawal --- doc/guides/cryptodevs/dpaa2_sec.rst | 233 ++++++++++++++++++++++++++++++++++++ doc/guides/cryptodevs/index.rst | 1 + 2 files changed, 234 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..e72cdfd --- /dev/null +++ b/doc/guides/cryptodevs/dpaa2_sec.rst @@ -0,0 +1,233 @@ +.. 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 +------------- + +This driver relies on external libraries and kernel drivers for resources +allocations and initialization. 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 06c3f6e..941b865 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 + dpaa2_sec armv8 kasumi openssl