From patchwork Tue Jul 10 15:33:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 42720 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D83C21B44D; Tue, 10 Jul 2018 17:33:59 +0200 (CEST) Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700040.outbound.protection.outlook.com [40.107.70.40]) by dpdk.org (Postfix) with ESMTP id D9E701B438 for ; Tue, 10 Jul 2018 17:33:57 +0200 (CEST) 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:X-MS-Exchange-SenderADCheck; bh=bs5N3Wor85dmVq0Y7TGlnwlEPa+rJtF834/j9VwS07U=; b=Na534YY3RjPUfN1lx7Wy4ZQ3goQIDpFj8Evwv7E4SRYYOVMpsqFobsUH1s/LYOWCuaytEYnJBtaZ5MXdwagh2g9AeiTay43qjnZvJD6JKfdgqIEHbwfzPHTc3LGtsVlJdU1uM67mNd5Nsymg7Dg7VTR4dJpUR/dGgTgHm9tB1hs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by DM5PR0701MB3639.namprd07.prod.outlook.com (2603:10b6:4:7e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Tue, 10 Jul 2018 15:33:54 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, nmurthy@caviumnetworks.com Date: Tue, 10 Jul 2018 21:03:17 +0530 Message-Id: <1531236801-5931-1-git-send-email-shally.verma@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR0101CA0007.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:18::17) To DM5PR0701MB3639.namprd07.prod.outlook.com (2603:10b6:4:7e::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e972d81e-c77c-49f5-01a7-08d5e67a8cd2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DM5PR0701MB3639; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3639; 3:es1e/Gfw8DfKH2iJ0oBASfDvx0dEZ5E1cKYxVr8zRAoYLExTY/U5Jys5ePSNJ+/MJgrlDN7cuPcASYq673CQTeaBnyvCbg7ALljjTfNb/Pftw9gi1huD1Bas5u/n7QfyButj4J60Il7lSIxyeVXGEXhw6Vu28OunvLgRsTNLv8B/BBVVo54/DWdO78U5Ut4RXt5H868GSxk9W1YnnhlUl3/KoYfGgTMNY1KZnKTOHrQirks67tnM7P7gRq1dtTdG; 25:yudEtrvR42S4H9+HG0EE9uInZxhNBQzxBNqI6Q+zftcYONcus2fteEy3TU8RNAuEp/0BJ2kg6wx13jSYyXnkWIruplNNdItSJK5OmAt6Y6BJzyS1+kyaJPFxJTBqu8gWQGdhpkWTmyO2P3EMrZfnMrFXNOmPMoNqgZAxCM8HVI4QNT8BZUYRZgIZAj8gOjaus9rmLR8NrLc6wnmUWY3/XrGjQqL4rDhTPlTgwu25uHDte4j5/pNtMKXsNFb75etmjYQvglk39ucYnhkM6ssAl0SoslyXhHEfbldBcP0oYRUzlY4fXqjBRn5vGykEQf6RD3yvI8m5/BQ1WGiWzs6klw==; 31:GZJ4IqJIL90grrZafutftaVfY4iYq1rzy2EK3DfCI5qssUJ1QQwCgPuGZATB93p5rOh55aETjcbi9zu2Di73pYZZ/Kn92HEPrwBdM8sZidYHTkuT08z/yD4DipAWqULg90Ppk/jJJoH9IHeFHCOu3dd7Nvmd1LcuH/9EzuTa82V3ojvQpWOUti8HwR8g5zaAv+IvuylyyPraife4J9EGPJHqW534cvkGsCJgvcGGZqs= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3639: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3639; 20:DbdOguttRG6D5xbEPE1UMznuDDQ8gzxp79zfksc0q4JCFXLKLZImc3jR/aeA1GuSxEGIp131lN9ptJkpuz1oQHNecOLWm3sUEjeiyPpP+Z4rMSaEOBxBx1jDe7/xadfX9G9IgKNgKqscvgMJqlc5GtkPlPmavEff1DxGacrY+71NKClogyBTo93QcYUmuyWaSEHBVM4s+J5TbPrU00796hnGNOXpZWZojlJsCNta2VtXfB1Q5TSnqa9HrfD+VrC6XR2lODmoLjF/wc9UeWN2Fo44ebGEUXr8kzcl/JU6FeUo4diGaQwER18htrVI92A0IU7wmk1rwQE42nAiR9btwrc+e6ggYe1CxybcOIJFfiOASI7FATnIB5sHjyeZdL3SRDgmned7NhA+BzHzlb4ZtNttOJ6lWKD0jVCuHHCoVk15V+cXkkyUQrQMEgZQiA+5kDvCSO3TFHnkb8SWsrrjeEPIo1cyH4E16034JCReb3puqszdf4ChIpJHcop7arPpsdfLuhEINgw9/PRWWnAxtyWcgHfWKMdjY4MPZ3HgNuCc5BhqlE7laIaU5GY/sXbCdnJq+UZkqlAHs5Q/Qz8Iy14GPcUzJO2kzSg/4lHeVmY=; 4:J2O5ksKOJWkx8T87UKo8/6g38thYjxW7MXhdivHXGpumXZjRFd2GM1P4NZGdo8/scY2sZhEm/ET5iBj2451ZdD+JErTujTv9oDlRVDPZ/uoxox60IypW/15byipmHpB1j5JA8l5aZH7lFTSEFr18R5XW9ElSd4bJ08vGJsNwqgXxh0UAmizJyKMNQa1rzeK5Hm1TRyVYdl3+fSuzTDq/pLMD6YduqiSJ85eY+XPTfoYajUg/mH4jgQINEO3F+v+QBeXgsRMWBb4n/N8TIy7whQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:DM5PR0701MB3639; BCL:0; PCL:0; RULEID:; SRVR:DM5PR0701MB3639; X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(346002)(376002)(366004)(39860400002)(136003)(199004)(189003)(47776003)(2361001)(68736007)(53416004)(66066001)(6486002)(6666003)(186003)(105586002)(316002)(6916009)(50466002)(97736004)(72206003)(8676002)(14444005)(1720100001)(4326008)(478600001)(5660300001)(16526019)(5024004)(966005)(50226002)(6306002)(6512007)(2906002)(386003)(3846002)(6506007)(44832011)(106356001)(107886003)(2616005)(26005)(55236004)(23676004)(69596002)(6116002)(956004)(81166006)(2351001)(305945005)(25786009)(2870700001)(81156014)(53936002)(36756003)(53376002)(8936002)(52116002)(476003)(7736002)(486006)(42882007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3639; H:hyd1sverma-dt.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR0701MB3639=3B23=3ARu?= =?utf-8?q?8rahRjFEb/4AluTjiZo2Nu4kqAbH7ex7cvoZ32GbLKXyahX1etAfzJfA?= =?utf-8?q?Ow0G7SM3RfSdNOCQrXoltzntOm9QfnWEyULqBMZYXlqE2GEAHBNl0vbM?= =?utf-8?q?9H1XoQci5R1q4Ap7wmya9ceWsf5WkwC5fWM7Expeq1ny5I4r00J4yk2i?= =?utf-8?q?u/zU06cqViRgKNRbrtum72uUGQFgzS1Fv7Od8GIkTRKRC+0zibTjkVxN?= =?utf-8?q?RE16yoO29bJuCeU3ZaoRx+QrJLmFLP4c68EqQl+A9n2GsKD3QBkuii4d?= =?utf-8?q?dZUxvgVQLPYLeHQv4QXNeE3oit15vUP73SG2hRRsA3fiOypsqldE76zZ?= =?utf-8?q?A1ZmzfIYosDNu7Yqbus+ksIXNwV+zVigwgjvNulRL6+etNPz0lvqtCQq?= =?utf-8?q?yKIVjbtbWvWEc+4+SHIAuHl9q7253LlGaCnPQ+pnDnjPgdSvrYQwErlK?= =?utf-8?q?KwczjI6cFTjxIoHgnI5RoekAo8wRJm9/zaW5wnHwUg0ES6fXFdyxelM9?= =?utf-8?q?2Dn0TRkixkmCoePetjpF33Zbt0JPZpq1n6XYdtp//bdCBGScBBMuHTVf?= =?utf-8?q?xZAAtwx3Z+/RKiiSc19PNAhpPv3p+XMpyRgdWdTTFjdrED16Ky1jsewZ?= =?utf-8?q?FsBtCE+RhfKUcx4g/P+P0f3PhHJNzoCs15JQT4OFGr22kX5Gs9JZxJ6h?= =?utf-8?q?mj9VP/3InIaH0jhjiiDnX12IUSwgTTf73xyMFjzgPq13eLmLtaWLnjBH?= =?utf-8?q?qL26hwa8674W9rsVFTd2w0ml8UA2Qt3Kqxw3nSKta6QTn4BjUQg4/oXr?= =?utf-8?q?fGnOPILk1Ysu1iAsJxmnoko8Slq+s0r8MxgWzq+y4GC//JCvAho27L/b?= =?utf-8?q?Zt52swDWIhQ7YARGpECq/y2P3sLkzbuzlz+U3MbCX+cAPa2TXyPmahh0?= =?utf-8?q?BTFUcuL3pcL9+R7y1S2KkdHnm24++ena7mr9ZeSt/FE0LyRSToHsNsyJ?= =?utf-8?q?twdaf4nz9ND73wbgB/UWDumpIcVV6SyH3l5Lb61Bs30xdXVehn5Q4jhP?= =?utf-8?q?svGzgrUc97ehTwXchz3yt/6HdqB3yRHT/bQFY/gOessrGsFxRhGk6Quz?= =?utf-8?q?IX6dAsVoxqby67q/0L6XdNXc6CF66zO2i3HmZrlLgKUtCPSdN3zOGCQq?= =?utf-8?q?Fzt0FxDlb9ZuGgG84N177DpZglf0Dpu9Q64qbMoMZlt89b6VTeiC2OdW?= =?utf-8?q?pOI0DyuBZjnVDyJRFwT0SD7g6PgirdbNrwjuKQac+m5RFpX9iSa/JFPJ?= =?utf-8?q?YYGl4OBSrToNiY1c6imTVG2KcGgEOJxKBKfWwpzFSJPFgxWu8rJDYqbx?= =?utf-8?q?wRnp070OPclbp2Hb+Sh0owSdaOMKSp9PPgEbh0W0somNNwDgZuwIn10s?= =?utf-8?q?JPiKyYFzxOb2+FMGwVDGhFbMyqReDZ00u8kTgADuI=3D?= X-Microsoft-Antispam-Message-Info: 7IlUNacM9eF03qac513TzXbhL2zyHf4lNJRNHnnPMnSbEkqY9YR9kf6yC/y/E4WTFtk47NEA3SoVm7kGjl5MEfeO6YZutI9pkfOlG8l1+LMRX7lM1LwDJuG1EcMLLQUIBPNBJcWWKP3emCXOQZECz7bHVCFv/oLVXVfUE+p+kjAs3ciLRJgXVvcXO+tXfoyA39l3eBA5kAmRICbHnLJJJDDu80tZt/Yvp7JyIbjbyzhTk2STWg9FCSnb1XgjJc7KjzIPfKnRvuIp3dPfTZUqsfBhgzRWsWVl3wTMN8WkTmPVb3dHnpW5FKzClR9wL7rrRxzfRifPhK0iIPpIjGNLbg== X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3639; 6:XyKwVgmrh/+KCoGveqn+1NnWhhEfFN++bpxmsitC8g74SxUzkpYf5bkbS8qSLy2lgY0btQrMjBPWvXJTg1OJ7Xev16rR+mcRirorevs7XO22KFaKnl8OLuvMnZd71kSYATENVszrexWJCBgv0YvBEHF4Jbfhddu0tJKNjtyhhsRbLkzEZaEcRifAGBKB7MJej6M/ax49CWm9xZ6DMsP/AFdxyMNd1sHGEsLyPLJ9Yz2fMXrLgpqjyblgKo3mC0P1ct94+fCJZp3bQFCAMZsm+hiyOONjjGmwnk2gy/v/XYuPNkLQj8KVvnO6nGUMaNgmkTpXPqmLDR8liZ0zgNXyh1DS6ljWuaKrLEuArzkcCvpsXgczmAv9ST5kTGwGCUmggQvIdgArPh0QR118awrOtrTFMxgGThUi429dVTehBZN8Aw23Rd3OybJCQh1j4/BeYVeE97Tlg5Nr78SoELUmEw==; 5:KCd9f3kVbgr+j0B37PlXYi92ogVuloyrHCWAFsd0qEeiTtcQwWbpfuI6cgMHglWJj/y4lOYJ6tfgJARKmVPF4fpPiKit9aEvOShCJYo7xGVl8zcDFp2m7erh+2TnSBqw/Jz1UvbyraSfePFJpvNOWk4wdLwuksC18dJ0Ae7Nb6I=; 24:XSqC6gVUJWiORByFBPkypHuOR+CAdWlgFjO8rFt/JA3Nw1qAR8reAGiiTeJ1ToPmREn7F/JCAJE24gm5xS3P4K+lWsSKWA5eyH1voVBD+7Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3639; 7:RaahLwYmGI+JMS718KSg6KQcEQbRCHtX4vK/L6Nvbq5KlGJJpT/maCLsWt39V5L5HBdZOIR5GI//kbTctyo1peR6qOFuYhB4GAK86aGxkujymGk561EwzqIfeTKhTvA0X6wweOSz37v1E8E1T/8cMW+h+x+oBLFp/+5D4VTIFGyitxgd5bsWsO/4ZWk9DZ/SFImVaJ4weSphYqRBc05DNnEf9w92JjWfZQ0aAfikZIZD9V4rq/rC2c1mVAdDL1wl X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2018 15:33:54.9983 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e972d81e-c77c-49f5-01a7-08d5e67a8cd2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3639 Subject: [dpdk-dev] [PATCH v5 0/4] crypto: add asym crypto support 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" This patch series add support for asymmetric crypto in DPDK librte_cryptodev framework along with documentation updates. This patch series is divided in to following categories: 1. library patches with asymmetric API, xform and capability definitions 2. Programmer Guide updates with asymmetric description openssl pmd and test app to be added as separate patch series with 1.1.0 support. changes in v5: - remove asym_get/set_session_priv_data APIs - fix 'make doc' error changes in v4: - add asym specific session header get size API - add NULL check for asym_session_configure/destroy functions, for the devices that doesn’t support asymmetric - remove redundant asym_op_reset and asym_op_attach functions from lib - fix ordering in version.map - simplified check_modlen function - simplified logic in op_pool_create - corrections in doc - renaming rte_cryptodev_asym_session_get_private_data to rte_cryptodev_asym_session_get_app_private_data - contains only lib changes changes in v3: - correct rte_cryptodev_asym_session_create to pass void** to rte_mempool_get() and add support for private_data_size flag - remove redundant xform_type from rte_cryptodev_asymmetric_capability - added rte_cryptodev_asym_session_set/get_private_data for app to setup private data in a session as per latest dpdk-next-crypto spec - rename few APIs to be consistent with other API names - update test meson.build to include asym unit test file changes in v2: -addresses patch apply failure raised on asym crypto v1 patch series: https://dpdk.org/dev/patchwork/patch/36575/ https://dpdk.org/dev/patchwork/patch/36576/ https://dpdk.org/dev/patchwork/patch/36577/ And, unit test and PMD patch series: https://dpdk.org/dev/patchwork/patch/36928/ https://dpdk.org/dev/patchwork/patch/36929/ https://dpdk.org/dev/patchwork/patch/36930/ -- resolve git apply patch error on patch id 36575 -- resolve git apply patch error on patch id 36929 Changes in v1: - removal of dedicated sym and asym qp setup, - remove asym qp count and attach/detach_session apis - re-org xforms params for deffie-hellman to allow public key and optional private key generations - move elliptic curve changes into another separate patch/patch series TBD: - add elliptic curve support - rename of existing session_configure/clear APIs to sym_session_configure/clear/init APIs It is based on review discussion on RFC v1 asym crypto patch http://dpdk.org/patch/34308. RFC v1 patch http://dpdk.org/patch/34308 is further a derivative of earlier reviewed RFC v2 patch series: http://dpdk.org/dev/patchwork/patch/24245/ http://dpdk.org/dev/patchwork/patch/24246/ http://dpdk.org/dev/patchwork/patch/24247/ Shally Verma (2): cryptodev: add asymmetric xform and op definitions doc: add asym crypto in cryptodev programmer guide Sunila Sahu (2): cryptodev: support asymmetric operations cryptodev: add asymmetric capability doc/guides/prog_guide/cryptodev_lib.rst | 290 ++++++++++++++- lib/librte_cryptodev/Makefile | 1 + lib/librte_cryptodev/meson.build | 3 +- lib/librte_cryptodev/rte_crypto.h | 37 +- lib/librte_cryptodev/rte_crypto_asym.h | 496 +++++++++++++++++++++++++ lib/librte_cryptodev/rte_cryptodev.c | 242 +++++++++++- lib/librte_cryptodev/rte_cryptodev.h | 194 +++++++++- lib/librte_cryptodev/rte_cryptodev_pmd.h | 57 ++- lib/librte_cryptodev/rte_cryptodev_version.map | 15 +- 9 files changed, 1315 insertions(+), 20 deletions(-) create mode 100644 lib/librte_cryptodev/rte_crypto_asym.h