From patchwork Wed Aug 16 07:39:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 27622 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 CD1AC7D46; Wed, 16 Aug 2017 09:39:57 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0081.outbound.protection.outlook.com [104.47.36.81]) by dpdk.org (Postfix) with ESMTP id BBE627CBD for ; Wed, 16 Aug 2017 09:39:55 +0200 (CEST) Received: from DM5PR03CA0044.namprd03.prod.outlook.com (10.174.189.161) by CY1PR03MB2267.namprd03.prod.outlook.com (10.166.207.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21; Wed, 16 Aug 2017 07:39:54 +0000 Received: from BY2FFO11FD009.protection.gbl (2a01:111:f400:7c0c::198) by DM5PR03CA0044.outlook.office365.com (2603:10b6:4:3b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18 via Frontend Transport; Wed, 16 Aug 2017 07:39:54 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; intel.com; dkim=none (message not signed) header.d=none; intel.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 BY2FFO11FD009.mail.protection.outlook.com (10.1.14.73) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1304.16 via Frontend Transport; Wed, 16 Aug 2017 07:39:53 +0000 Received: from [10.232.134.49] (B35197-11.ap.freescale.net [10.232.134.49]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v7G7dm4V007766; Wed, 16 Aug 2017 00:39:49 -0700 To: Radu Nicolau , , , , , , , CC: , References: <20170725112153.29699-1-akhil.goyal@nxp.com> <20170815063505.22032-1-akhil.goyal@nxp.com> <20170815063505.22032-2-akhil.goyal@nxp.com> <152bc1a3-b959-adf7-99d7-4ee552e72271@intel.com> From: Akhil Goyal Message-ID: <4cee6900-f886-6997-6911-6c9ca1735e65@nxp.com> Date: Wed, 16 Aug 2017 13:09:48 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <152bc1a3-b959-adf7-99d7-4ee552e72271@intel.com> Content-Language: en-US X-EOPAttributedMessage: 0 X-Matching-Connectors: 131473427938479652; (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)(39860400002)(39380400002)(2980300002)(1110001)(1109001)(3190300001)(339900001)(377454003)(24454002)(199003)(189002)(50986999)(54356999)(31696002)(65826007)(498600001)(2906002)(97736004)(356003)(86362001)(105606002)(8656003)(33646002)(229853002)(50466002)(106466001)(76176999)(5660300001)(6246003)(31686004)(230700001)(7416002)(65806001)(626005)(77096006)(2950100002)(104016004)(36756003)(4326008)(68736007)(85426001)(93886004)(81156014)(305945005)(64126003)(4001350100001)(65956001)(53546010)(8676002)(53936002)(23676002)(81166006)(83506001)(54906002)(47776003)(8936002)(189998001)(2201001)(217873001)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2267; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD009; 1:Cj1XuimKYi/T5m/d1YXIK/DPdwqhMm+SYopM0ZaCKk6pIbjNk2lHQBaMLWiTw9DKNKeU9r0iDI4g5ChNmrdNdfR65JjV4EMQbRE/68s3lzmccogeWBS36ORW//SFsbiV+Jt+HUPh6HWMYroHIAuYJLwq9MOc8+Jo2+8CiOjCu40JYGfPCymGmMs4ZDnwwMIh9uFzXOY8p9M3HfcgbLhn8rF9x9Q6mFYzK28dTWOseUSVSn8d3dWGPSNQYHKuLc16/ejH6OHp1ksR5nX3HbCc2MCyHqTVB7jkDb59jDeNztP8iwAI46Kx52fN/Iacwy08dmK2KXdwIjSPga8aWXmFg1eSQVRkT12BwmPOZCPRah7itYxtYzG6dOLYShiWMAeUAT8Am8Jq9bRje9N38JwKmGLSJ8sMANCCA3QWBfvOPBi18zHHplJND82dWgOJLQXhButYnJf8w8WXuSpP7c4BpQ4/a7Is7UAzLwDEBmWQe36q78VKvElX1sY0eBaLvx31nOv/NoF9/LxIW2y/oj2O2CPm3skAwEo9/VxzTXG7mSbsmuzBrWLeSAhLpwSDaroErJXAfpiihMs6xSAz3ixincboS5Iam09OK6GCjzpH909KeTipVvjjYZZGqVjrpMz/t450vY/AUR+aKJgSzmmx7K7KxDn1fjJwtQ4lSj0pf3CSKkdi9+5Fz3f7v8AXs8OWT5GnoL4se3Bqi2opDOZ7JJQhecgP+uMUa/iKxKjf5Lhwk7TGSbhzu1mMT+HvWSoGgQ86gqL6CLEjp1P8gOAnGE3EMj7pSJkFFL//eQlTbvDKuJa4nQOx+v3YiaWotJlbOEs+Qmcm2sk/VzgEW8NuTvcegaXTbLQ5+oHeRoHxiUKdCDHkNLKL+IOJ4tx+l49aWJvTiITupB1L7qmCe3HiK930V+iX0DV1xg7rz9ncm3Y= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fecf72b5-4c2b-4e3a-0e24-08d4e479fc24 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR03MB2267; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2267; 3:gvn2zq2zwM2dDWnijMMs8EFe3ZmusBdvyEH8g236LXD0QsWjEqhzrfmskmCya2XNUX51v6UXPtZc4c6ifkoCXofN19EiIH3DKbsaYRiRm6Hrf3UTsPWFlRxUuJ83d88b/PLfwEQdP431BloDwwP0GtEST+/83DwVXKkmeJD4nhm+Cmb0Nk+1PCf7XRj0whJYbqz+JHtFmEMbOU7tOa/pRxJK1zaR2tEtyjE9AHl39Iux6dYd4rfd4oatbIx6ru7wg6vyKgN5KLpdGoejoqk7OBlSXSmkZPXuYVWC/nUgxQaocJOwhtqo4IVpM0DaTAxmgZpPZE6dC9pJMc0eN+4rl9AtTj16hN5zS46lv1KpUJY=; 25:RgzCP0e5A4Z9MfINDlIJ4o+vDUUiwjk9J61dnq+NgSuIcJxJ3bI/78funcJgYZ0GO+DKsfxPKbTZ0fsR0Y7e5mzvKKZzue/m6KUJg+9XUT1e4tssgy7XRbC2ndD1puz4PyVZ/QHlip2IzaDgQ+QFdLsxSpxOawvR7gRtNYV/bbKJpf8OZi+GryGIroeYYrPErNBsbfTnkrTvic7/51GBJT8Rv/FuBiijWGI4HG+mi95XfKtFMyN+cz2QPjTzVX4NOHyQffqChSMr/jRVQhFeBjeAFlSXyFxg9tHXnH4tex2cuxCYcMgl3qFVHSsvtblfjbEwxEpuMCR2+FOQtQPBiw== X-MS-TrafficTypeDiagnostic: CY1PR03MB2267: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2267; 31:CIe/dFYtMlWwAJ/kgk4KDTOgXw+P7YwIicmDQEI43Q1g32wmuo8D7f62wnk8pR9NsklDeB1a7f6gsOV8OBhi+o+OpZB4B2YjDMHbI03rGo0YsQD9qmhXjTTC+G6PKcuc2zdJ3yIO+DsfqNZB70nUF39zSAL+JJLyn/Q5xmrIrIzfe6PphrGqtJIOF3hBaFj8pzguZooHXvfbhNJl7hPqtHJICln1OBNZnAJl5kzIksA=; 4:Qp5+gkmSSX6JZLytnrWXKsR1Gl7siRF46n3x1aefTqAHoBbd1tV716zGUITRF1nElYUotv4DPUuuA1RkWprJrv8ulzwnWYHW7rmGwPks3EjB6x3vXqilZwSEHFh0kFX+JbpoWEM4zGLky2/YKUwQVbxALVy39eSTIKIwsqm0+pmD/Ld8wWm0O1SbW8YmA39A7Hc/DAhkAXg75W/vfFQNLwpaAgbybErHhKHo3ncWrYipoftsD1vWCjKo8QPciTfRzOkd8C6T5tCRAQoxDwWuLNFEgpbqPJfv7BE9jEuVPur4gsCLiI91NPuPC9L5VFFyddOABEM+awM7/x9HaHRmbQ== X-Exchange-Antispam-Report-Test: UriScan:(192374486261705)(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(5005006)(13016025)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(20161123556025)(20161123559100)(20161123565025)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123561025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR03MB2267; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR03MB2267; X-Forefront-PRVS: 0401647B7F X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY1PR03MB2267=3B23=3AAYjp?= =?utf-8?q?kgd8wMI0nFAwntBfj+0IpDnzSSU5m1kna2JSS5RtMuFJzUPZQMjl5DQ7?= =?utf-8?q?lZPEx+S74iTO+qY9NJ9euyWyccTuvFr7OgNQSt8uXvebcholTBRzZhZJ?= =?utf-8?q?+gg7xZ7HqvKQkA2MH4+RPEnHqOLbyzDQctAGjXpSM5ctLCmefN7W/epR?= =?utf-8?q?RwEDhnhyuajKSEA3KS2e9FQ9g6txBz53OTNjMdIy2VPyI42Kz8LF9lns?= =?utf-8?q?soW1npfHh9Rx2yDAWI1YV5J1JqxrQh//OTp7KsBbuyGB8ey2QIXq27AY?= =?utf-8?q?sdlLoVrvL3atoMfbuikDXnVg7dKbWQHFglbIjMGM8XN0holzZp4POLMd?= =?utf-8?q?9r5WwTDJHnJrMCI2+IC2+U58cB2IAz/9uXWsiq7jsbyuElw8+kttGscV?= =?utf-8?q?31HcSyPXhTRHIjqt9Y8erik3Zz8HD+AidyKDf6RmNrJj3jd+48Nzgp8k?= =?utf-8?q?7q2OVPV6Z3vlWo/5IZcNOr0XzChO9Xm86beNYWbugqJVbOOx4LWgTmj+?= =?utf-8?q?km1lslP9j2VB9NX5LjQyAG+KHLSCtX4wbBcsHCd/IZYG4NRBh4zk4n6H?= =?utf-8?q?X15OEYlL+c1hNLp6oHf8idC5IMX+/oi+8RIIHIuEQx8XIhdUg/3FZojD?= =?utf-8?q?2lx0180+U+moxKJhICwUgWj5unTua6plf6lA67upwu9PJSA9kBiL3XJZ?= =?utf-8?q?sk52SCg9w+gr5J4IilvMai+hPOmzfFYI0v3pYFo6WXvR4lRIiuEJJUKm?= =?utf-8?q?AGFl6emRLyicmWjNi1AlO3yVt3HW0U8X04VLeZLKCBhkRUHTDgD8Upjz?= =?utf-8?q?xrS6ISejqrUl3FDPxOnth0Khz1U5cG5Qp3uIHROx7PUvbDlyMAuGayHS?= =?utf-8?q?7wgRwxCLWRkfiEkJv++Y1MWeSrYi1MPtOpXTqPylreDCUO1qHL8PdS0/?= =?utf-8?q?TCu0ZK1vgFMcaPEQqNgM2VBn+0Llq1pO7Mzevix8XVnEVEO6tLlwkMTh?= =?utf-8?q?ntQ74QdKHN1SIEhzsSUqCAnZhYu46lPGQXoLrimjvqh+keQx4nCBgJTC?= =?utf-8?q?irrHwIqZ7+4KqM63U4it/KtYfLHRj94HBQdAdNSHxPrCTzWFfCVfelMV?= =?utf-8?q?tt8vJPN3js43w2lL43PSRaJ5Gk1+71J4h+YY/ZXkC/9OOrwHK2CQK3cD?= =?utf-8?q?RnOt6+MVF8GyI2U4cjevGrA6TeEgBlZ//1rDyB5TDNQhwe7nDsce1GRP?= =?utf-8?q?y8/FrbZnndzyTqUhfBa+Wr+m+YQvwyuNZiOW72cmaTOMsAgBTymEEVwy?= =?utf-8?q?oX5gB8FBjgeJrBy6kBA9xGgNLE8H4Argfvq92qPokdghbp47pLiDDgcJ?= =?utf-8?q?ML1hkSXEYPuHQcNbKn+77uFSyKNKQalSiVQj6pIViafXvWbxIkmnPhir?= =?utf-8?q?03hT43bh9UBoFOfVDI5rLhTxpIFWvnREfYFg5m02N0zegIRDyOrc/vsH?= =?utf-8?q?uuAVYNy0GxW+xtUZg/B+QoLaBA7c10SeapvqaGMXGlibox2g4i7iixV2?= =?utf-8?q?HguYfvcDpymZ?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2267; 6:1niUIdfzBp2P4u63FjWj3kkCrWcFcJDOFs5M6P9fE8FXQootrEi5QjPZwtp7PHS9qG26xSbEBuNioARKSEg0dXekH+DG/PnUFjhloErkMAfTWF4mDrvHRGjBgDee+Mk9t6/9mu+BlWKQIUWuHVhzig5yizectdg5TKGA6UzEOQFeAeXms/7ylZiT1ZV/Y+ga6mMJsv8CqWsRaIQgqRH+lob6h5N3X5lr19S3eENbSHH22jNjOAlTBO82K0GngL8bC1k7itCpSvOt8KPjh6z5zf44MymCTcmldd55e3mofxb0X2repB+yFOM4srugBuR+XlINV1i3sBw6WbFngkrN3w==; 5:tBALosjPdJ2xjl2e8MPimhMpFxwCYy4Lz3secc+zX4ugBVQskPp20hNoC2KYvtaqllg9UrQAFBymfSc8A5hOZdZGDnjwPvgSZiloaS1dBtOenjrasAqCRlJttXdfLQkF3D1+pESNase37DRYVHl2Cw==; 24:jU8V/q4z9Eu1d27f0n+Kcq+SbZk69ghBzra3jQNY5Z6gy9AVhOI5kpioKyHxXGeXP+DYte58sDp64nz7UzOTaF70+yupE/+UqgrpAAsth/k=; 7:AjEPNsB3EUm966575FksDga0QcAFZd0Wvv2fQtlyuL0zI35NwWFPsuXrRPfNkxe4+ekTZGPyGjwzBB3Zn/UAP7EqQvP6zX0FbqdE5j7nDFAUtV1VcrELiYgU0QvTgSKBrmLpkqfWhrcgeLN8tPCsYyqYR6EKWE53qhrjIY4kZUiIp9ZYyK8qtTpSW3QB58TPj6+BkvgHRxt9ZvqUQxlxXNlwr1wlK4dF1E9+CAypyac= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2017 07:39:53.5983 (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: CY1PR03MB2267 Subject: Re: [dpdk-dev] [RFC PATCH 1/4] rte_security: API definitions 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" On 8/15/2017 4:34 PM, Radu Nicolau wrote: > > On 8/15/2017 7:35 AM, Akhil Goyal wrote: >> Detailed description is added in the coverletter >> >> Signed-off-by: Akhil Goyal >> --- >> lib/librte_cryptodev/rte_security.c | 171 +++++++++++++++ >> lib/librte_cryptodev/rte_security.h | 409 >> ++++++++++++++++++++++++++++++++++++ >> 2 files changed, 580 insertions(+) >> create mode 100644 lib/librte_cryptodev/rte_security.c >> create mode 100644 lib/librte_cryptodev/rte_security.h >> >> +int >> +rte_security_session_init(uint16_t dev_id, >> + struct rte_security_session *sess, >> + struct rte_security_sess_conf *conf, >> + struct rte_mempool *mp) >> +{ >> + struct rte_cryptodev *cdev = NULL; >> + struct rte_eth_dev *dev = NULL; >> + uint8_t index; >> + int ret; >> + >> + if (sess == NULL || conf == NULL) >> + return -EINVAL; >> + >> + switch (conf->action_type) { >> + case RTE_SECURITY_SESS_CRYPTO_PROTO_OFFLOAD: >> + if (!rte_cryptodev_pmd_is_valid_dev(dev_id)) >> + return -EINVAL; >> + cdev = rte_cryptodev_pmd_get_dev(dev_id); >> + index = cdev->driver_id; >> + if (sess->sess_private_data[index] == NULL) { >> + ret = cdev->sec_ops->session_configure(cdev, conf, sess, >> mp); >> + if (ret < 0) { >> + CDEV_LOG_ERR( >> + "cdev_id %d failed to configure session details", >> + dev_id); >> + return ret; >> + } >> + } >> + break; >> + case RTE_SECURITY_SESS_ETH_INLINE_CRYPTO: >> + case RTE_SECURITY_SESS_ETH_PROTO_OFFLOAD: >> + dev = &rte_eth_devices[dev_id]; >> + index = dev->data->port_id; >> + if (sess->sess_private_data[index] == NULL) { >> +// ret = dev->sec_ops->session_configure(dev, conf, sess, >> mp); >> +// if (ret < 0) { >> +// CDEV_LOG_ERR( >> +// "dev_id %d failed to configure session details", >> +// dev_id); >> +// return ret; >> +// } > The commented lines above suggests that also eth devices will have a > sec_ops field, (which makes sense). Is this correct? > Also, if the above is correct, session_configure and session_clear > should accept both crypto and eth devices as first parameter. Yes you are correct both these ops should accept void *dev and internally in the driver should typecast to respective device. Please consider the following diff over this patch "cdev_id %d failed to configure session details", @@ -101,7 +102,8 @@ rte_security_session_init(uint16_t dev_id, dev = &rte_eth_devices[dev_id]; index = dev->data->port_id; if (sess->sess_private_data[index] == NULL) { -// ret = dev->sec_ops->session_configure(dev, conf, sess, mp); +// ret = dev->sec_ops->session_configure((void *)dev, +// conf, sess, mp); Thanks, Akhil diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h index 219fba6..ab3ecf7 100644 --- a/lib/librte_cryptodev/rte_cryptodev_pmd.h +++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h @@ -371,7 +371,7 @@ struct rte_cryptodev_ops { * - Returns -ENOTSUP if crypto device does not support the crypto transform. * - Returns -ENOMEM if the private session could not be allocated. */ -typedef int (*security_configure_session_t)(struct rte_cryptodev *dev, +typedef int (*security_configure_session_t)(void *dev, struct rte_security_sess_conf *conf, struct rte_security_session *sess, struct rte_mempool *mp); @@ -382,7 +382,7 @@ typedef int (*security_configure_session_t)(struct rte_cryptodev *dev, * @param dev Crypto device pointer * @param sess Security session structure */ -typedef void (*security_free_session_t)(struct rte_cryptodev *dev, +typedef void (*security_free_session_t)(void *dev, struct rte_security_session *sess); /** Security operations function pointer table */ diff --git a/lib/librte_cryptodev/rte_security.c b/lib/librte_cryptodev/rte_security.c index 7c73c93..a7558bb 100644 --- a/lib/librte_cryptodev/rte_security.c +++ b/lib/librte_cryptodev/rte_security.c @@ -87,7 +87,8 @@ rte_security_session_init(uint16_t dev_id, cdev = rte_cryptodev_pmd_get_dev(dev_id); index = cdev->driver_id; if (sess->sess_private_data[index] == NULL) { - ret = cdev->sec_ops->session_configure(cdev, conf, sess, mp); + ret = cdev->sec_ops->session_configure((void *)cdev, + conf, sess, mp); if (ret < 0) { CDEV_LOG_ERR(