From patchwork Fri Mar 3 19:36:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 21309 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 8B807F976; Fri, 3 Mar 2017 15:12:24 +0100 (CET) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0053.outbound.protection.outlook.com [104.47.33.53]) by dpdk.org (Postfix) with ESMTP id 06071BD28 for ; Fri, 3 Mar 2017 15:11:46 +0100 (CET) Received: from BN6PR03CA0021.namprd03.prod.outlook.com (10.168.230.159) by DM5PR03MB2956.namprd03.prod.outlook.com (10.175.106.142) 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:45 +0000 Received: from BL2FFO11OLC003.protection.gbl (2a01:111:f400:7c09::175) by BN6PR03CA0021.outlook.office365.com (2603:10b6:404:23::31) 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:45 +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 BL2FFO11OLC003.mail.protection.outlook.com (10.173.161.187) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.947.7 via Frontend Transport; Fri, 3 Mar 2017 14:11:45 +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 v23EB3ld010625; Fri, 3 Mar 2017 07:11:42 -0700 From: Akhil Goyal To: CC: , , , , , Akhil Goyal Date: Sat, 4 Mar 2017 01:06:42 +0530 Message-ID: <20170303193648.30665-13-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: 131330239053512072; (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)(39410400002)(39860400002)(39380400002)(39850400002)(39840400002)(39450400003)(39400400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(104016004)(50466002)(33646002)(8936002)(356003)(23676002)(626004)(305945005)(92566002)(76176999)(50986999)(2950100002)(6916009)(8676002)(86362001)(36756003)(81166006)(4326008)(8656002)(54906002)(77096006)(2870700001)(5660300001)(2351001)(5820100001)(105606002)(1076002)(106466001)(2906002)(110136004)(50226002)(53936002)(38730400002)(47776003)(6306002)(85426001)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2956; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC003; 1:q48UVxlR51TwurU6EDp2UH1lShaaDczbxWt4NUW6AdLEQHHNfi8prQ4NymIv3UY5eGNDCuXZyWo0+8LNZAdq4aY2+2RTpkNzux5C498rpAJKskUPzPX98P/hdOFwjRVjE7+4gPS3u/Dhp1V1a9SuPnA/8pCmusISFAT/0ZRS+CEef2Z8bOBrMGLIwrbd0txHAqUC2PqO3DEVCNPPbi/1CUnSDVvcSsbFRIXNVw4gWODCnHqiaKhmsRXOfqvTJ/mNj6xNI9P9X15BpeB31BE1oxCcEzHlrAl4bH8NTyl8n3nhEthXLkGZYWs4lZFVKSNMy9C6XHtQJQ1u8V5kcqHds5Y1OP5dfzVcGRvFMKTsHXlvq/0j6vMEDrpzZQZzjrNNXt8ZW5CHh87MD6GPKpYGqm0cR4XEU5mMMNpnhxFHt3T3irfmgPfO3QBDif9sZ2K4W6TdHNgCA5BEuAVrQ+Ejsm5Q9R+iYpUgpeirnEi3+VbJpuQY9oOf/kPXtFp9PvvMlEfW8olNkVDyRTjPDVPXB6LyPwNhyzc0YTI0q+yxcejjhl7WAWfeEHwVzaCVpAuziHSiQf/ta5+xIerqy8TyY9OFAsBV+SFAVBDvPmRJqBpYWhs2qdInVbuWdmcn374HvohjRoDb7jXjZtzSp+v++NNvms8CIR/AEFKnoZPuDygj09VKFYimf19oAcWxCvqAN7ivwxgfqtBCoBArpIEJBUSSbKR6iwfyKIgh10Oy/tQqY0mQ9KMlojagbhpiFhRi X-MS-Office365-Filtering-Correlation-Id: ce9ffb36-39a2-4984-3d88-08d4623f3984 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM5PR03MB2956; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2956; 3:6eygL6ju2mk8k6ERFURQzAWKXqgc8ig+iKAwePt1TwTWwgP6CUNhlfiCJ0t7vaZNOMXSXREpB9uDE8+Ve+UeyN1ZsYA6GPvuOTq6uAhWl/a9C4P35dDE9Lg3npRxTgfwqGjl0DHu1jC0/jgDu6elI4hdWY3PJgYSkqqjc6NzMBu/tnFEjo255QPDK5CXg84z2naR/WwQzhgqaeMyY0GKr76g9bfYKcBu30GXeB62mz/IbkgYoPNsB6IrefzAv5R1zg25ipOFadmJ9j3SJ6ipmznQSm40TH0Gb4QFvU0eI9ELiybZUSIDg9tF05gQDmMc9pOgfKNYEpBaRwlgDWg1Md821cfqSzh0WsBhUsbxr95A8vbmZm7J7rzpW9yXQR4Z; 25:cnhWOTbVZqDl/gjDZAtbQjR9qYJn2Y2X44+vpJIH6UvVKWJbCrA5fADawZwV51MU1976DRbYDM7tFcd+Bdt4EPxcFFhd6vbI23XcbHGneLsH1Sd5gM8jaHhfrpVZcjohzNGfRIsUv15REye+XiCVSEKcBwUtBAABoLCVqbTKh/roCkWqXWaOuiGjrCghpDtqZFohedib0RrVmEgrGx5M+GucVQUP1YP3j+UfR03OypSdQYCrwLafanMUEane3Cj1XJMCqGCHBkVUPUE9s0ZNc+CdJWqTQxFn2OjVCiY0/u8t3CMVHJEcwc9/Tfxuk5y5RWMCuvdjmBY+0KiL9IjwtsXUxHPacgOxtkN9ZcudLdrDdYTW2MKDNmZ+XaMc/HZiZLKfGqEr53c4NgcVf5QKktv8g2/S3pHDV+qfPdT6RrRy2d5LrBmVGis9QotA37NlPfBLIIAfR0ZTxH5hG6d31Q== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2956; 31:lds9NfnX/T4AGbd6EpBeuNj9vRcFoGarcYB5vHUmVOY/2F4lRZ7T4NRFfe77QyY7qb/FUYpJxRAeCT4irUOQvSaPucn67mQKdM6g+DB0djcS7CUUcN66K+E7ag59p1/gXKGvxcW8JPgMMtnoHoR/gc74JhdCy6rt1FgPX5I/nGMw8UlCsNrPMU/zMiYgewLfqLC0KaM11KgaFCDUSsDkwHjOksZJqSNHyBIpioNEyv226B0o8nv3ExSfTK1X38Sb3OsRETXwMNzSmuSxsLyN+4924ooptf1Ap35o/X/kLTs= 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)(8121501046)(5005006)(13018025)(13015025)(13017025)(13023025)(13024025)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123556025)(20161123565025)(20161123563025)(20161123561025); SRVR:DM5PR03MB2956; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2956; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2956; 4:26z2XokNLUQAdT8iOWvv+1qLqEhk4KBh2Rrd5S1PqCHiJ0JCAujiqLNgd+5ccpoOLalb84XS+PGL0Hi9Y6mwr14e1rQUIOsTX2smBLcOp6ZlOtGJdXGzoriCIhToBTEz+Uav9+oiJ3c+zg2jqmGeT3RRnzsfAcT2V7Hta8mPdWjMGMm1nUaD2pqA+c7u1BbC4cJ+pcsWq9OV/JaqiaSGz8xLqd6OwnhwRkHd68kbAryusteDLWS5qVJTRjJF+ms0Ce99J9m7BhUfR7a6pBRKNqcd51hlipayZtueSxYG0Xhw0lsKQoatFSaQmdCwzcgjiaGH3gaISjWw6Eogvwp/JXglIfO1C5ediafu/lCWIhWjmwOkcyaHLnkngQ5Jk333mlQS1nuLp6BnDjMUbvlW1eC84kY5OyPWXh6KXZZdSaShi+cJ6YmZfZLgvFs1DSNdionF+mmaNqvIo0Vw/IsqPAVyqpYmIPypPBzaQGNbPhh8bxsZvUOXbKQR8fxWlf6A4DertgGC6JM0WgKqmlNpkljGdmrdfIdHjoVtvaE9568W1J60SAC4U7Cjk3jaiyM6l7uao/Ox/haaoEIC0FfLZPwZdpYgrDkVCmTG16Xu5cY+P/EeHNZ/FU7VhtOJfrrxZxunvCqAT5asTRnbOOGrGLINlft4VkRXAI1eNRMdrrnvZao4H7WoxV8YyMtMij2PTE8HzjgSUZUahS6cy1Irpn5UW9YRe1r820y4ABc3NfPX5ETnd/8CyOUWvgSL6ZNhJBlPGRz/9W5goAZHodpPTqxgmn8kbm9FyDDf9n5fuL5O7XcWh59MwjV1rfCwzoCKRjow6Q1rULAaS0aAMzWaJTtC5i7VCIykW9rgD4LDrRvW5AWbtjMgHfCHjLiZzTrapt6PE9+TxOxUw4QnIJWfcfHbG93+Exj3gg6jUNQvYuE= X-Forefront-PRVS: 0235CBE7D0 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR03MB2956=3B23=3A2FnI?= =?utf-8?q?kQpDmEESq/L6iciNruk9d2K552qRmcZaG/nyE+RO8k94axk89bbQNFcQ?= =?utf-8?q?LAHCDut3qXGtRbeTCh2W0xPPgDiNyI7+FBUr/b+XsMAMvudykf1SMj76?= =?utf-8?q?WqcEg5a3ZK2Bnp1TqBhmU/7a7DgZ93jQ/uAhrWJmKRR8EcPZwbrQ5Np2?= =?utf-8?q?C/2uMtXLgQOabOW0ZZRbjC5llpGfDjeX7PegSECdgrN/UaXRqUHIMYVg?= =?utf-8?q?lDrFN9S2gGyBI8Dnwa6cVtBr+ykEa6ujxBWuHMNxquN3lePZkMsEKLBi?= =?utf-8?q?WW10R58VUa4VwHMUJUo6tJ35nBfyQHXrELjGqLNEcvGRBQReW7gOXeyS?= =?utf-8?q?/pkwZRQFKfIy0WoJJxsZRVn350yCfnTeI+6B4a+JIDw1Rlmvkqc5KnXe?= =?utf-8?q?eO7CPVMN/4JyJQU9EQJ7MRkMVOwju9lUWB8G33tgoKh+zaKTKNae8nYw?= =?utf-8?q?ZLWZ/XLN+a6EvEfgZaN7tiobDew2SwQBhVWbz5lGg5ExEbbfwZMyl/8G?= =?utf-8?q?4uyiZL+JlB6eDZo8kwHHCrpJC8H9GHAf/dAgN62NMl0XqxApY/HFtWdU?= =?utf-8?q?mRiISNhDTpYtXLZeXH1S90pPM2mCGLFqA3zoEc/rp0cNp2jBnVXWR79M?= =?utf-8?q?6j5fro1jcljFvDeyWCAK8sp82el8wbW3XqvtSwPSv/0xZ0Tlb0SdJUtW?= =?utf-8?q?xWajpiBXMYx3pbU81ftgPFamLZmlX4/inMw5QJtyf495B35o9EfXx6lq?= =?utf-8?q?BQj/IeBK1SBRbM03/8hC2haUlEQ+LYZUtwINLB73ery4m1JTbH1x9Lti?= =?utf-8?q?FdVSoqAy1jI6lSTjgDTRnQApel9p8hb6zZUwA3EL4ZwPmKwpJn7/pYDc?= =?utf-8?q?k3gg/jJHgU6EkykeTsydw/kZxI7aUkitJ9w2trgEncnjDE0NPecOMp7K?= =?utf-8?q?Ouf/Rb6kjKLp7RaDnnKq9sThJtVhFbmabbycFtj3klDWZlVn2rz74AYj?= =?utf-8?q?AZciKdvAB6//VQ5mAmSrb2mnBJ+XRs4RfMqLXIBiXEBfwKvnmLOFEC6k?= =?utf-8?q?6Zdd/DYy5ax88sEKVSqOPM1LwubVTtHOojTu75lnno9EFJwy8DTwbmnF?= =?utf-8?q?ALPB8/zRvl+fl2xePhTyo8ukCjtP8Ei2ckBIvic6m4ciZ8HVBHgcEy46?= =?utf-8?q?wLKE0of2fv3LQ+Hr7RikyLopqLiFzU0JMZKmh6vLQOO83HXmHWOEWZ/B?= =?utf-8?q?CS1jtC7yWqAxE/u8QcPGbgHeSmRYEbvDROmPRO2ga1GQ5HPpPwPjvSJU?= =?utf-8?q?4e4m3k6zIWNrC8Ub1zPM9GIYv4AZXYIsVC5i+hqTeWZAw09VHD3MAiRb?= =?utf-8?q?m8Us1vEE0Q19rDys3gh8HnwCsvbjfM8=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2956; 6:nFX+NbRwwDalYolOvxRBBMqz/dwUQ66KxKG0IK0CxJVNeOjpQLd6r3Xgr3C2VbToMlVvynYx5fIjVW5n4qrWYs/UbtSjk482kJMO9ngLjmtUgg69X9sxliqpcs6xB6tY4F4IuiD0OxUJaQjX4XIoGKGUZD+UrJrsbEMZ+GymLQ/FWlXEdoUTwP7pgF4+E3S0tRSr02tZOucLBV8cK00pfHugq+0Oz0jqcVPxapy6Ct3V1gZ5ULLWSwknc7yq/NGetwg27lHbQFkIuq6rUP9FofEdVLSRWtOxgKyMzWhxFQsBHU6zV/9+9p1rTI2RdnxA+6Ne7uwxKj799SVNUzjP28drBdi/Ggd+ov7TFJih5a0jOYG9vE4D7w+jKKfQdZjliiJmSgbtABPaMnDBj/uCLtW0Uc26nTL8ofh78jkFog4=; 5:VWILsAyIv8jlNnZ/CRcbKItjENf3LoonTdgGlS1dSXHoWFhvot0AnSLR5KwiO2MqMoucxXaP0x3kcIXcmdY6YIDdm5JLdM0g2hAnszKsvaNNIn+2Tnna9Ton4K5jAab7KBb5xuL24xTuq0A1T413SAtpOBDBBBGSermVWo7inCcIfN1x/xhc8SdC2j3jizkP; 24:sYXg8OAoa3iqHOO9dimJh3T+fd+460kdxdXYJ/zcw2T7jT38r3eBTDhzmf6fEE48mvMisRS3+1BJeDKyt9BTMcecxwrVIOXEPFfcqZfSPnY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2956; 7:AnB9vPok3dBznaUVvoBT/OOKLGof1cnOedyFmcB/Lg7YDoMzny7jaPlbDeu+kHVTY03A4j8sw4Hz1rl2VJ+NDM5cCcSPlVbHneQ/oHmEn33yDCZuIkSVuIYbHYq8WfC8HP57hIlk3Fw+8tA4TTx4lV/3J20IpXV8OsiCatms6GrU6cwjMIrdBVRCUj1DDsjLC4DFomlPk4W9R3m4dZENUgYxf/pbeRWd5G4U4tAtXQ5Q+AozgBBX4T9PNJwr2xSD2YItz7bQ5P+99AvQc7qNdApW3K6ErMSYr/Fn3DWdsPkaMvIk3bPMnuoa9V5ajEMBKB2O1CzlkRGsducx70B/UA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2017 14:11:45.1796 (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: DM5PR03MB2956 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 + doc/guides/cryptodevs/overview.rst | 95 +++++++-------- 3 files changed, 281 insertions(+), 47 deletions(-) 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..c846aa9 --- /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 diff --git a/doc/guides/cryptodevs/overview.rst b/doc/guides/cryptodevs/overview.rst index 4bbfadb..6cf7699 100644 --- a/doc/guides/cryptodevs/overview.rst +++ b/doc/guides/cryptodevs/overview.rst @@ -33,70 +33,71 @@ Crypto Device Supported Functionality Matrices Supported Feature Flags .. csv-table:: - :header: "Feature Flags", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8" + :header: "Feature Flags", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8", "dpaa2_sec" :stub-columns: 1 - "RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO",x,x,x,x,x,x,x,x - "RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO",,,,,,,, - "RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING",x,x,x,x,x,x,x,x - "RTE_CRYPTODEV_FF_CPU_SSE",,,x,,x,x,, - "RTE_CRYPTODEV_FF_CPU_AVX",,,x,,x,x,, - "RTE_CRYPTODEV_FF_CPU_AVX2",,,x,,,,, - "RTE_CRYPTODEV_FF_CPU_AVX512",,,x,,,,, - "RTE_CRYPTODEV_FF_CPU_AESNI",,,x,x,,,, - "RTE_CRYPTODEV_FF_HW_ACCELERATED",x,,,,,,, - "RTE_CRYPTODEV_FF_CPU_NEON",,,,,,,,x - "RTE_CRYPTODEV_FF_CPU_ARM_CE",,,,,,,,x + "RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO",x,x,x,x,x,x,x,x,x + "RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO",,,,,,,,, + "RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING",x,x,x,x,x,x,x,x,x + "RTE_CRYPTODEV_FF_CPU_SSE",,,x,,x,x,,, + "RTE_CRYPTODEV_FF_CPU_AVX",,,x,,x,x,,, + "RTE_CRYPTODEV_FF_CPU_AVX2",,,x,,,,,, + "RTE_CRYPTODEV_FF_CPU_AVX512",,,x,,,,,, + "RTE_CRYPTODEV_FF_CPU_AESNI",,,x,x,,,,, + "RTE_CRYPTODEV_FF_HW_ACCELERATED",x,,,,,,,,x + "RTE_CRYPTODEV_FF_CPU_NEON",,,,,,,,x, + "RTE_CRYPTODEV_FF_CPU_ARM_CE",,,,,,,,x, Supported Cipher Algorithms .. csv-table:: - :header: "Cipher Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8" + :header: "Cipher Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8", "dpaa2_sec" :stub-columns: 1 - "NULL",,x,,,,,, - "AES_CBC_128",x,,x,,,,,x - "AES_CBC_192",x,,x,,,,, - "AES_CBC_256",x,,x,,,,, - "AES_CTR_128",x,,x,,,,, - "AES_CTR_192",x,,x,,,,, - "AES_CTR_256",x,,x,,,,, - "DES_CBC",x,,,,,,, - "SNOW3G_UEA2",x,,,,x,,, - "KASUMI_F8",,,,,,x,, - "ZUC_EEA3",,,,,,,x, + "NULL",,x,,,,,,, + "AES_CBC_128",x,,x,,,,,x,x + "AES_CBC_192",x,,x,,,,,, + "AES_CBC_256",x,,x,,,,,, + "AES_CTR_128",x,,x,,,,,, + "AES_CTR_192",x,,x,,,,,, + "AES_CTR_256",x,,x,,,,,, + "DES_CBC",x,,,,,,,, + "SNOW3G_UEA2",x,,,,x,,,, + "KASUMI_F8",,,,,,x,,, + "ZUC_EEA3",,,,,,,x,, + "3DES_CBC",,,,,,,,,x Supported Authentication Algorithms .. csv-table:: - :header: "Cipher Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8" + :header: "Cipher Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8", "dpaa2_sec" :stub-columns: 1 - "NONE",,x,,,,,, - "MD5",,,,,,,, - "MD5_HMAC",,,x,,,,, - "SHA1",,,,,,,, - "SHA1_HMAC",x,,x,,,,,x - "SHA224",,,,,,,, - "SHA224_HMAC",,,x,,,,, - "SHA256",,,,,,,, - "SHA256_HMAC",x,,x,,,,,x - "SHA384",,,,,,,, - "SHA384_HMAC",,,x,,,,, - "SHA512",,,,,,,, - "SHA512_HMAC",x,,x,,,,, - "AES_XCBC",x,,x,,,,, - "AES_GMAC",,,,x,,,, - "SNOW3G_UIA2",x,,,,x,,, - "KASUMI_F9",,,,,,x,, - "ZUC_EIA3",,,,,,,x, + "NONE",,x,,,,,,, + "MD5",,,,,,,,, + "MD5_HMAC",,,x,,,,,,x + "SHA1",,,,,,,,, + "SHA1_HMAC",x,,x,,,,,x,x + "SHA224",,,,,,,,, + "SHA224_HMAC",,,x,,,,,,x + "SHA256",,,,,,,,, + "SHA256_HMAC",x,,x,,,,,x,x + "SHA384",,,,,,,,, + "SHA384_HMAC",,,x,,,,,,x + "SHA512",,,,,,,,, + "SHA512_HMAC",x,,x,,,,,,x + "AES_XCBC",x,,x,,,,,, + "AES_GMAC",,,,x,,,,, + "SNOW3G_UIA2",x,,,,x,,,, + "KASUMI_F9",,,,,,x,,, + "ZUC_EIA3",,,,,,,x,, Supported AEAD Algorithms .. csv-table:: - :header: "AEAD Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8" + :header: "AEAD Algorithms", "qat", "null", "aesni_mb", "aesni_gcm", "snow3g", "kasumi", "zuc", "armv8", "dpaa2_sec" :stub-columns: 1 - "AES_GCM_128",x,,,x,,,, - "AES_GCM_192",x,,,,,,, - "AES_GCM_256",x,,,x,,,, + "AES_GCM_128",x,,,x,,,,, + "AES_GCM_192",x,,,,,,,, + "AES_GCM_256",x,,,x,,,,,