From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0046.outbound.protection.outlook.com [104.47.34.46]) by dpdk.org (Postfix) with ESMTP id 42153D202 for ; Fri, 24 Mar 2017 22:59:09 +0100 (CET) Received: from BY2PR03CA060.namprd03.prod.outlook.com (10.141.249.33) by BN6PR03MB2785.namprd03.prod.outlook.com (10.173.144.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Fri, 24 Mar 2017 21:59:07 +0000 Received: from BL2FFO11FD047.protection.gbl (2a01:111:f400:7c09::152) by BY2PR03CA060.outlook.office365.com (2a01:111:e400:2c5d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14 via Frontend Transport; Fri, 24 Mar 2017 21:59:06 +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 BL2FFO11FD047.mail.protection.outlook.com (10.173.161.209) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.977.7 via Frontend Transport; Fri, 24 Mar 2017 21:59:06 +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 v2OLwRmn007000; Fri, 24 Mar 2017 14:59:03 -0700 From: To: CC: , , , , , , Akhil Goyal Date: Sat, 25 Mar 2017 03:27:51 +0530 Message-ID: <20170324215754.21751-11-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170324215754.21751-1-akhil.goyal@nxp.com> References: <20170303194935.30831-1-akhil.goyal@nxp.com> <20170324215754.21751-1-akhil.goyal@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131348663463557773; (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)(39380400002)(39850400002)(39400400002)(39450400003)(39860400002)(39410400002)(39840400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(5660300001)(8936002)(2351001)(50226002)(36756003)(105606002)(47776003)(2906002)(86362001)(575784001)(106466001)(2950100002)(6916009)(6666003)(5820100001)(81166006)(33646002)(8676002)(23676002)(76176999)(50986999)(2876002)(1076002)(85426001)(2870700001)(53936002)(189998001)(6306002)(4326008)(110136004)(104016004)(86152003)(54906002)(77096006)(305945005)(38730400002)(356003)(50466002)(8656002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2785; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD047; 1:SIKpCwd8MV6P3mrotBXpC5Ux4+P9u9I7/clyW3a0AoUuyDMbNevLBf6nHqfe/66ky+3OkEKgM+EE72eG1odLjfQ4PvkDO2f4xf2y2A29i3k1KUCxaLZt9z6yCJZ4LzxbsSNstse4SnFe9+K5ONg4UAQYW8WgPwPyS2UXJzE0lU2y3MV0zLPTAAHsQBlj63DfQlAjEpWKZ8vVhcX/SYCRKkkHQx8BsASAHi9pZStL1qikFqcUbTZeUZoJU2+mvgrXVGCFUxTGwmdFB+N09252K4q+bHCW5HIL8cM0zGFOJXhbMaMxORi7IJQCPlg/+TM3prkQbCIUiiIwgPpPdSZfUTULAgk0035b8LF1YdxpELSQkme7s8rIMTl6j8FALy16Iii+mWA3wnTs66noVoAqaQUH5jpAAPbsDkxEUHP3qiBg5IQsdC6qCmzg0HJCaPhsN8PoRsLlMO8shhl+z4b6a3mkqsodm47Pvs7VaQ/6g6kqFMGHH7858AadREYZqroM2Wu2QCZlSJLP8lmTLwTVNTmzWvtNeU2g6j+GcTNHyetgrqNRtO0dgc1JqOmkJs5DBcH0nsygw/p1hgPeRdtgtG8bPuS8Oj/4oO+3rLab42n+i6cA+FxvQe8qOvcvhDgpkx/LDL4fv9IniaFhwdyZwMf3O2ra30/rQn5r2xQ7h4HXbhE1OCzrPlTFXqzAA7IPaA893vZO/qV7J0GyqYI67AFTxo/sIwfFWKd6VfXMLiY90COGvehdy4SBZ0zD+Ln3 X-MS-Office365-Filtering-Correlation-Id: 3d268a55-86cf-4d77-592e-08d47300fdec X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR03MB2785; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2785; 3:zl2zdLDOtr4gb7r6yqzpLbToGslSq4pr9/AebKRA2noiGJURxIwyW1onI8awnkkTF7A3ZWTPKDqrtDVfHacqvFD37M5ksfiT7B0Rav1DO65frD6g3NZTnZoKHcBQvpyaynyeefWJwvlfz/C3pc+iQd5zQVKFvv+SlQlUWy0h+rPPNkCINfR86yeMRfF3/5BMPYZlcBQ65jHfLXcapuG5P8V9zeozuJDWbLNczGRI0dAxT91iIN93vjaeLr+FG80x7MSuP1sVa3vHVCtEvDF4OB/6cEOezcAU4LefW5MOjKiw3dg3CruzG4ndLEfF+4skP8eWuAv6rwygZlmhfjQPzWPGkD0IGTXkZRQLjZE2JaN6mhFTF3gm+y01xAAPNmo4; 25:aNyMw5e/guEbycxs5BXUfIW0JU06jfdgOb8heTML/JPS1M2Fc4DW8rrvxj4CTbK6ehszqlLcn33spG8BDRcDENLuRvPOwskK47kXk1mfrDskvpvkBZ7MtmGSAAxjuxSoy5O3BjL8wQWXGpmr7duFnpWOSF9WVVfWV0yO560dpA9WIlPG6ZQvpx0nFkpf2X1mr0GJMpksRI48+3YqthtszoPaDh7+CFnAy+V3XxkzlRC8mTvFsZOoehykpxnr9PnpiJTbKks+cdX1hG9pi7w7IG0xoElCVFamrV8VKgHkeQkKd/GzzRzq6JRg6/8XRRBGfPbrd+EuN5xOhSnLMAXWbMC/LX8HpL6RZlJg8QLKWeWM57QHJXc2ZsffxrJMmvM/UICyk8ISuKdivU26M3foBF5YpYtI3fsQzUFJq0tPhxba5S1ja77mv9SfWvvw/h2Kf8MoDkoMG5m0hK0u9rYX0g== X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2785; 31:7b0sg9n9yBF10j9LAlBKPuF2DqTNb3Kz6cjKaN3QzoGW3nJT42StViRlgA7/o4oBVM0H0nFqg3ooSNYaDRDgveiIkPbBRbOQgycm6i63cMpSLNbhbo0qSydfX2r/B4GzvcigKChvW8/TFTR1nd5potxbvHBcNMhgHUhSqqUVW9rO7swDfE3tACWMTqwx1PgyTZAofzvw6nYJlJfNFf9CpabtHXI7l2zzXPnerjwFS+oeGTfiM+dGcp0owwNwcUap8RxoE0YlveqLg6FEDfpBhw== 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)(13017025)(13015025)(13023025)(8121501046)(13024025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123556025)(20161123561025)(20161123563025)(20161123565025)(20161123559025); SRVR:BN6PR03MB2785; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2785; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2785; 4:dOKQthIAKxCw7B8N3TnQkLbxVWS8DG5FrDPvNMKJAWdxb5pGWMOfDsmxtXqHqfZZ/YBdamctAxavgHlqHdmDVUcG6+EmI8K0X6piVq/HihekUdCXIVu6k0kWJ/3Kzoj1djldSa7Xf7y6C2ytSrbDiHBw65JQS0x/rIA6/3Av3nA7yforOndyVNwk2LZAEVsJi3PjsUSG/8p0O0O948GFQ9ZJ05EwNEJZ+GDEsU09uy9Z9J49B3D91e4yMIAa/Yh8+ed2B3Sf0y21pSveNmoRTfVXDJv7NK5HzA4j+AUFdTrVYhqg+1LrSnL5aFT6C+Tn0UNpLpYHudZOjWoajvIXJURwyPgNZPswAG/Mt9fK9YRKdgQyTRvBsv885efA5CM8sza3EDiQb0CtMTmB6AoQq4Ku5yhVqOIet/cYiPThFmnl5okaXf3y2dHaoKbtHjoW5G4juVNHN0moOjABrZosnktKgDC2EW1Hu2JZD7kRWPoPCQmjTQngROEDyBrXnRGtDDMcMHdSd+uH1/uhV1uGcLeJSVTz5fhK3EsO15KcsFDJ/Z9U/cPAyK0FeQaOC0GlhWbAxI7lR2HTC1bM2Ltm2KeBkB6/Vy/01udsiOhBDb1LlPoKJNewYVIkzmzJxfH1UZex0HcVuXp7nc2FtfRcGhUcHkU2QrayuYlqHXjD2eB5F4rSdnelRidyNtzgnY61/IyIBeE7dc3vQMtbdsf8BCf83WQ9NUZuoaBDjzuULSUCBmPeJMvlvFQLVRsCCFbxkHYxh21kVTre7CV0IRGvg1gTubnhHCSCms60ArRkIRgaYbXIjAuSwxohuvPc5Ucc6FdNTPua6z5iNjcJl5e6cyUuQ0ugd0fP8QPvI2V+rzSMs3cfuORYtd8NATkJBHtTjOQLqAr380caJGUB4XJVPw/uEli5c082DTk69vBR+mM= X-Forefront-PRVS: 0256C18696 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjAzTUIyNzg1OzIzOlBGR0hkRng3QmVUNzNGeGt6VmJlajBveGtE?= =?utf-8?B?bCtUdmpvT2FXV0xSRThpOXk2anVyOGZnc3RaOFYyWHdlRXV6VGg1MkdZdkV0?= =?utf-8?B?cWVvNVdxdWZjeVg5SUVqQlRsTWRFYkwveWZodDVxWSt5dnhjbkR4c21NWHFM?= =?utf-8?B?emtyVGF3NzlhUVZ5bm9nbHBZdVVJYTNhSmZVcmlKL0Z1b0JtSjFPbWRGZnZD?= =?utf-8?B?N3FEazMwQnV6Sk9BTTR6dEF2bklKMTQzbjZLK3VucTdjYlFtTHJLYzRpUG9y?= =?utf-8?B?K2NBMEhIbjVMRlBQTGFSUDg5U2NkbStkbThRS0I5aTkwVmFDRjhGN2tyL1hs?= =?utf-8?B?QjE3T2l2NWw1bEMwRmhDTGlKQXJyL0RVa0pwOW52TlFaMVBPUkVvbThxK0Ur?= =?utf-8?B?Q21yUExXMEord2FZUUR3YVNtdDcwN2xjQ0FJSElIWnc0VVFJbmw5S1MwY2Zk?= =?utf-8?B?WThvWDNwdDJjN0N2czYzbEY3WE03VG9xYmhLZmFNYWxPek9HOXVhWWh5SzZE?= =?utf-8?B?c3BVbG9aMVJzQWtPVWp3Z0M5Q3ZFTWl3MGo1dGNpM0o4NE54S21zNEJvUXJM?= =?utf-8?B?Mmh2TzlMTG1CL2IwWUo4NU4zNTBVNE5BVVI3ak5ZUlZaUWhjakJ4V3ZkMmlP?= =?utf-8?B?VHBNbkxINmp1VkV0c09RZWw1YWZET0wxZmpsRnNzcHBxdUVHK3hud2NtVk1I?= =?utf-8?B?R0c4R0poajJWMXR6M2ZzVnR5Y3FZSCticDlza2JjZVNKd1VQdS83R0xJbU1B?= =?utf-8?B?eFhVaCtZdU5tTlN0dXZieXNIeXZ5VmR3RURVSHY0dmcvWEJrL3d3N1Zoa1ly?= =?utf-8?B?Z1pIRzNsWGhHc0tRS1d1WXR6M1NsNk83djZLa2FvcWpiYlJmcUJoRXVwWEdV?= =?utf-8?B?akVVY09McEdidTBqNTdiVTNlcm9aMHQzSVlleW05ZTh6TzVZTVhkZHFiRStW?= =?utf-8?B?eG9EWEY4M1dkdWdrM2QwcSt6ayt4WG9MbEx5UkorMXpsRjFMNkZtdHVKUlFG?= =?utf-8?B?MDk5TUFodWNtdXVQV09hd3FSU2lxRkpHVWE0VzJqaUJaMnVyYndvTHhRSWJk?= =?utf-8?B?WXlEUEtnQ3hCR3BabWFoWGI1YS9NS3ovM2gzeWNiUkFzTVQ4YUxCRG1Fa0FZ?= =?utf-8?B?S0I3MGRsdjNHR0NKUXFhVFE3NzYwSHM5NUlBVXEvM3p6S0ptMzdTV3poK0w4?= =?utf-8?B?N2thSnloa2M0UDBlblZTaVJxTndqL3BJUzNXa0p0YmZ1Y2Z2L2RNOFl6dWRv?= =?utf-8?B?Q00zQlpLUGVPSkdRTjJ0c0g3T3M0ZHp3a3NZMWRVbzNxb3Q4MnFnVGtRODYv?= =?utf-8?B?bXFrVEIrVTE3Tit4cEtnSW5IaFY0cjFjR3dHWGVOWElKeTJ4ZFNBN01pdlpB?= =?utf-8?B?OVFzK2JrbGozYmo0dUFqeFBKdXpOdm4zRHBsallQdzVnemVkUENndFpDSnZW?= =?utf-8?B?NUN0M2tDbWFuZWhiZ3J2djhSOXdtSzFtcnhLSncweDlOMkcwSjZucTgvSHY3?= =?utf-8?B?WVZVa0RtMDFSeFcyRUh6V3RKOWloandjZStjWURmMlVNb0NkUE9VRmJ0V2l4?= =?utf-8?B?TEEvMTBPVE4vVXdMVStNNk0xT3dxVXhqZjVSNGxIZ2t2K3V6REd1bElXYzR6?= =?utf-8?B?VEozUUFOSUp4WTIyWnZrZXN1ME5sdHlGdzFadUhocVJiV1ZERU9jdWROS2Rx?= =?utf-8?B?dFJtTjV0dlJrRHJzaDZIVkp3UmxGSTg4aHdZVUppcDgreFJGN1NyK2NMYzRC?= =?utf-8?B?TW05Vk5GV1VmVWlPUUZRK2ttZE4yTHFaQUJoNUNZbGVMMnNLSnZJNDh1K2dq?= =?utf-8?Q?LXoLxqGR0er7F?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2785; 6:4VKG0RCxJnno6eHsJh3J2B7GMIzeXJnOUijeCIhkfcsOmJkO6KQKPFkQRLV939zPKlbdFaJGqMgjDktPzyCaJ838vXESvcrZL7YMsCyCWvHRpr7k+m8gqzWpaGVCQ0Yk8U/JcSc6db1LfpxCwAS3rvJ1ANfukmDjBkU+ocLtysU+BCi1/CBeJ0gP7wNgjabKju8Q9rpjHMvW1xni+UxC8IkprRzV+/L6+fXoZ29k+3f8S3JbiLRlqyyGgE/w0nBYDs2pkTkjmlEVBmUj2juKw+fovN5Jk2er93f9VMvRWC/kk0ceBiZ+6+Eu+QZ22ehfhAnL90k7gaa0JPUeMxLuSiOMCF4DAGPJKFSuNkCbEH/WMMT96wfaZ8H7+XHExRVAgEclQJfAkxfQWBr1VIji3A==; 5:LFPEmrTdVzY2BwnwZMUUthyBvbU4UEaMvzOr+BbuF5Mr2TheKg1vPTEx5mru3rzFYL+EZHuBGnOKisW8QNKki8opGZ1XXxoapkT3ndRVjJCEL7hD2x4LhGIUFjZJ3jIrUon9iAGch3OeXba5ES8oSFXqyuo1YRsHT6/4bVhFW7igjvqhr7JyB+FSE05Equoe; 24:8+SCW4bXTpJt1e0DBWSimQ7T0+hGJZ2gk6xXhJdrH9yR19VrLV2z1+nkIwYZqGjO3lfb/YD8KgqX81IxK+TejpwnxKKae6UKSIWEWzwvRYE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2785; 7:GsMpY8GVTz31DWpr0Nsxym54yanK4ZbbOjJTw28J8JdBm+jwMlfkILPgtGR8Cz47roIDbOCMBbdfvDhPUbtH1o50IpSCLz2qldPhyCGa6pdMBP0FJgbjB2o804IX+cAgDcRsJVq++Z9VOB58asMZ2xEOdesEv/edXyGg9yhff69TJUXVSvPEmpOMmR9BCQ4wQkworv6a47O6Z6YS4OjyOdxjrv5Cs1v3OjBLVYAaWBg+stsNdLR/0ZOwwg3Dt8D/gXFZwswAwDdSnbFoLV8qHBHUTWFBEpUw+XncxIoVzFyHqHuSJ4YwLkN1cjxWQHmdzirSWsUX78KWfbY1jCbR/w== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2017 21:59:06.1685 (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: BN6PR03MB2785 Subject: [dpdk-dev] [PATCH v6 10/13] 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: , X-List-Received-Date: Fri, 24 Mar 2017 21:59:10 -0000 From: Akhil Goyal Signed-off-by: Akhil Goyal Reviewed-by: Hemant Agrawal --- doc/guides/cryptodevs/dpaa2_sec.rst | 232 +++++++++++++++++++++++++++ doc/guides/cryptodevs/features/dpaa2_sec.ini | 34 ++++ doc/guides/cryptodevs/index.rst | 1 + doc/guides/nics/dpaa2.rst | 2 + 4 files changed, 269 insertions(+) create mode 100644 doc/guides/cryptodevs/dpaa2_sec.rst create mode 100644 doc/guides/cryptodevs/features/dpaa2_sec.ini diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst new file mode 100644 index 0000000..310fa60 --- /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 DPAA2 CAAM (DPAA2_SEC) +========================== + +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 objects 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 :ref:`dpaa2_overview`). + +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 described in :ref:`dpaa2_overview`. +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 the 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 addition to those, the 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/features/dpaa2_sec.ini b/doc/guides/cryptodevs/features/dpaa2_sec.ini new file mode 100644 index 0000000..db0ea4f --- /dev/null +++ b/doc/guides/cryptodevs/features/dpaa2_sec.ini @@ -0,0 +1,34 @@ +; +; Supported features of the 'dpaa2_sec' crypto driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Symmetric crypto = Y +Sym operation chaining = Y +HW Accelerated = Y + +; +; Supported crypto algorithms of the 'dpaa2_sec' crypto driver. +; +[Cipher] +AES CBC (128) = Y +AES CBC (192) = Y +AES CBC (256) = Y +3DES CBC = Y + +; +; Supported authentication algorithms of the 'dpaa2_sec' crypto driver. +; +[Auth] +MD5 HMAC = Y +SHA1 HMAC = Y +SHA224 HMAC = Y +SHA256 HMAC = Y +SHA384 HMAC = Y +SHA512 HMAC = Y + +; +; Supported AEAD algorithms of the 'openssl' crypto driver. +; +[AEAD] 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/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst index 7d7a6c5..45a0bc7 100644 --- a/doc/guides/nics/dpaa2.rst +++ b/doc/guides/nics/dpaa2.rst @@ -49,6 +49,8 @@ Contents summary - Overview of DPAA2 objects - DPAA2 driver architecture overview +.. _dpaa2_overview: + DPAA2 Overview ~~~~~~~~~~~~~~ -- 2.9.3