From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0048.outbound.protection.outlook.com [104.47.40.48]) by dpdk.org (Postfix) with ESMTP id 1EA531B017 for ; Tue, 16 Jan 2018 07:24:41 +0100 (CET) Received: from DM5PR03CA0040.namprd03.prod.outlook.com (10.174.189.157) by DM5PR03MB2700.namprd03.prod.outlook.com (10.168.197.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 06:24:40 +0000 Received: from BN1AFFO11FD006.protection.gbl (2a01:111:f400:7c10::177) by DM5PR03CA0040.outlook.office365.com (2603:10b6:4:3b::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.407.7 via Frontend Transport; Tue, 16 Jan 2018 06:24:40 +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 BN1AFFO11FD006.mail.protection.outlook.com (10.58.52.66) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Tue, 16 Jan 2018 06:24:39 +0000 Received: from [10.232.134.49] ([10.232.134.49]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w0G6OaVR007188; Mon, 15 Jan 2018 23:24:37 -0700 To: "Gujjar, Abhinandan S" , "Doherty, Declan" CC: "dev@dpdk.org" , "Vangati, Narender" , "Rao, Nikhil" References: <1516017078-166766-1-git-send-email-abhinandan.gujjar@intel.com> <5612CB344B05EE4F95FC5B729939F780705FED56@PGSMSX102.gar.corp.intel.com> From: Akhil Goyal Message-ID: Date: Tue, 16 Jan 2018 11:54:35 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <5612CB344B05EE4F95FC5B729939F780705FED56@PGSMSX102.gar.corp.intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131605574800465984; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(396003)(346002)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(3190300001)(199004)(189003)(24454002)(31686004)(50466002)(97736004)(229853002)(77096006)(64126003)(104016004)(5660300001)(65826007)(2950100002)(2486003)(59450400001)(106466001)(53546011)(76176011)(86362001)(23676004)(65956001)(47776003)(67846002)(6246003)(81156014)(36756003)(81166006)(26005)(68736007)(316002)(83506002)(4326008)(8676002)(105606002)(2906002)(8936002)(58126008)(110136005)(2870700001)(31696002)(53936002)(356003)(498600001)(54906003)(85426001)(65806001)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2700; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD006; 1:vUBVMruFZEH8AwNdsv3SGo83jeWaNEkohiBhR5KVPvMKYiLuTNPO1juKzCjAlA5aAswZpbGTeeWjrCuBJPoPPrSlRvItlv4+H/CegJ6QgRu+vXTRYfb414+YGhyY5suE X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 82084747-5f18-495b-6040-08d55ca9d2e8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:DM5PR03MB2700; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 3:tRkhwZoKUj+f228sDWDbPR3D1DHA2nFbJxz7F4Tcklrqd9TNL0LXWz+iU0Tlawx8BjzUjVZCIbRjDoi3jR1tI5+4n1feeQ+VQ9LDCnmkCgKMM8L+vImKTzdcQL7HgFpJOZOqr5zMMrM0WPt7j5kimG5iqteyLdwI3ED/KpYeNsDq6NaFL5EijUNkvk1QUJS6sy+iTK9DRgXCgpnoZXvfQcVm1jn/TZOk7LONS2qjNsVzXGyYSgJmE/4TcF00SWfLuw+8yVKwY8iXzHOW17OeGX1OVUuY+xsTHl1uyTsR4CW4TvrA70e9cA/yMz5x5x/GQDZsYA7XB9RMzGLOi26ixwnas8hKNAPcMW3WOqTgVAk=; 25:9/TujxvwbsveQHMhr9dd2ygQquDdUT0a7TKgF6a1Z/Rvuqln54wTxTKIKDKW6csNF3+UN9zw5t+LiCBjXKPmgedWh1So0LoTd7rQwtksl2eFeOT9vw2KHtYC/0OyohcpLek3EB4lIuodD5b4syPE5R1timiOhPyVKJpJrA15D+YjaLC3mO51tNkOjOBHZLItYvluM1NGjFD9CUKOepS/MwV4NdgALNm+V5hUm2xYhVOQDXOUFA2ooSdWOOYKaSJyxxIJm13DnexsFTVJ/LNpfa4MmlFIV9EFjCZqmOa2f7Zm5AB7NDhg+kU2z/3ecvomYepcDJdKEhE41d+LxoEs8w== X-MS-TrafficTypeDiagnostic: DM5PR03MB2700: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 31:Zbb9Fy7azkr0BFLiu8g7SFTdPQ78nYtEMRTIqrXedH0z9woRjBbIatb6zR7U4PmIXYv2TN+4INHLvjwZF1/4iEEM5YteTvsnoNI2EQGYguS8JtnvYhWCwRU+Zaz/9GvaiXBO+mY0cnEOW+7ZmGpvRzJnFKmKc6jV5PWeNMogH+EOy6KF2wF0z/0tD7ywS8mPwXWJZLibeWoSxY9cM7pVFBDahQl5FSPcBIagNSDhdwc=; 4:+NUIRDwEpTs01PGifgKy/sD2WjFpRjuh8jNZDibvh+SHfmRkNSamIQYxG3dLoGY5MjMgBay8vIMKBbY4W5D9GJ5AascCnnkY3aiy0Nbo26ij94t7m02w+OfpBXFKxxxhs1mXeyRPkM5EKHFKjnYhU2uJDVL2xzBhZjs0Y3z3P8TeJvEk+KlaQbTA2AGxM3zDh7w8qrjsz7D7WqwfjlQvk5bW4+LeFpzEiv/FlgDvbTyWGvSffHh8D1BRG0CJJiD2NJWVN4rDYk0/tnA0CLKFHKul2SGODv3GQct/iWFKWLrEWhydB4t+/hWZLCRSH3De X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192374486261705); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231023)(944501161)(6055026)(6096035)(20161123556025)(20161123561025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123559100)(20161123563025)(201708071742011); SRVR:DM5PR03MB2700; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:DM5PR03MB2700; X-Forefront-PRVS: 0554B1F54F X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjAzTUIyNzAwOzIzOlh6bFR6UXc5ekw2Mmo5RC9UYkdWVmp0M0c4?= =?utf-8?B?dHJKRWRlLzJCRnlqc21Ec0k5dkZBNWtGL0FjRUYvTjRiSXBLZCtYc2tweVZs?= =?utf-8?B?UlhZbWVwUjVpaFlYSXdVQzBPdjB3RVF2YWpzZi9LdVRHUitOVW9ZTEYwUjMr?= =?utf-8?B?QXNyd3haZjUyeVBSbkk5M2t5d1p0NGFORHVMb3FMMlJ3ZWp0TEVjeDJRMnor?= =?utf-8?B?Qi9JUEdtaWRJZWQxSHczY1F2NVhDTmxCNUc4TFRPcjR3dndlRkJXcDZ6OXJl?= =?utf-8?B?ZS9CeTV4eFcxd0ZmUndvcWJXS0V0aXFrZWlvdHhtV29jNERPc3RMcEZhS291?= =?utf-8?B?ZzN1SWQ0akhmK0FESkx3U2xjeDFKa2pIa0hCMno3L3hEYjRrcVFGOHl0Mk1n?= =?utf-8?B?NFIwQ1NOTUljZEtOckFRY25CLzlHVDZHTUxBOHNzSVlkNzFtbi9qaG5pSDgv?= =?utf-8?B?bEZZMlFDLy9pTms4M1c2enpJR3FYeGhwdVg0aXoxeUZtMEkvOE1EQjJibStB?= =?utf-8?B?TThSYklFNTVoM2JqK1pQejVnc2U5bkQvbFdSSEVtT3dJNUxCWVM5MWhDcGdD?= =?utf-8?B?YURUY0x1TWR3M2QzTHYxL2hDTTVabWN6ZUdITnJFcjVjRFVDS2E3RTdGM0c0?= =?utf-8?B?QTI4RXEycFhEQm9uMEJmdjh0c0JlaHNVQytPcGtRQ2hEdTJqbUxxTWZ4Nmd1?= =?utf-8?B?M3VrMlJibW80Um45eTQ3T2wxaUV0Y3kwZ0NZT0JiQXNldUZzU0E4UW1MM3hG?= =?utf-8?B?YVIrUUFaNE9yeDFhZlBvWE9zY294N2Fpa2JJZ1RrY3lHZFNabUN4cVpNUE12?= =?utf-8?B?WWFJT21wQ2RwY2xBR3JvSGtVODkwUTZRV240MldVWVVKdUF5N0JJNUhOaWZL?= =?utf-8?B?TjlvcFdWL0VpWWkwb3ZqVW9tRkd4ejQrNVNEakJRVjlxSnIvVU9CZC96Z2x2?= =?utf-8?B?alM4clNmVzVSaVoxelZiN05mZ0xmRERZaDZ6MGE4TXF0M1dzUFMwb2c5VE91?= =?utf-8?B?WGo1ZlRGT2dwWEtwVUQ3OURlc1cvb3dzL3ZEa3EzelJ2ckF4TFVYQlVCZkxT?= =?utf-8?B?Mi85dVN6bXgrVTBGWVRLTlBsYVYwSHFwYTlBL0htcGc5ZDdyeHZJNHJJT3Y4?= =?utf-8?B?ekVnU2VCdHBUYU1ZeStlcmNBZ1JOS1JxN1lmcjFqRzZvTFM2OWxCMXlSZFlh?= =?utf-8?B?OHpDSGxXVE5CTTQrcXJVcmhSeExoU0FHUlJVYlBuMzVIYTNIaXdYd0drZ3E5?= =?utf-8?B?RlZkR0hzK0xSRUlSZlpVWkJhWWFLcklPNUErdTlibE9GQ2JXNlZMaWlSelBR?= =?utf-8?B?UitVZjBoajJZL29tdXRDZXEzTlMwZEc5SWVZemlpRVZJNFlESHZPWk5Gek9K?= =?utf-8?B?Y3FzTkxQd3RUN2lmTG5FOHY0WTRrWGg1VUxCcWJqRGkyZ2xYMEkvSytObmQw?= =?utf-8?B?ODNHcWErTVhBNnY1K2pCQlZwOVR1NlpHYjNRZmhlZ2hlKzJLRmYzdEhVUkpR?= =?utf-8?B?Uk5lelhtWDJ6WUJIdWVrMVdLRTJramdHTFU4S2l3bmRpZnlndytQTXFjTzNQ?= =?utf-8?B?N2tEWGZ4U1N3RWFpSVM5QW9uNWRrNWFYeGhxSEVYMUViWmQ0MytKVTFveUFn?= =?utf-8?B?VWM5UmpsSTIwY0Z4T09tZEk2L0tNeDYvZGFFSkkzZUFoUi96ZjFEMGIzYzB0?= =?utf-8?B?NDhYUEl4WGw4Ym9wb0tMQ3VCcmdEMDJSdTNlTzIwY1FHWkJvVmNDaVgweC9W?= =?utf-8?B?QjZJNFBNVkxuQzJhbDJSSEtvcytkZkp4YWJXSEh3U3VaUTd0d0RTMFVDYkIw?= =?utf-8?Q?LrfoWQMBAGZTX?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 6:Q8dgKhc0Hms3qwsAOKniGXly2Xx/cuuIomf7zMFtqI+hiz8QLG0qxeSbVnoUaqpYB8fZry6BUTfwGGCIkvyqgyyx1jPb3P1UZQ9LbHgHeAPeLwrh5zOHrcU/sOiReusi8U2ymuzjDCZaZHmmt219bdRBfHC7nuqOctyuQXrnkCKowpCeHGMfwybFJ4ZwZLXWz0RDqEF0Rwq8tAup/xQ51UC8nVzWCAQwnnKmP27X60+lMGaYJoE9puk58X/7Z9lNBlsXbOkRFtuF7HX3Tcr2OuCetgbYl8Rt3vq0u6mN4uEpzUI7ngcbnTlOArYNM/jtXvk6AChpQdzOb41V9t51jMtgKbo4McwFilJw43gZ57k=; 5:kJBWnGkoJECHHA+f0EkaJFxtrBl1aor3vOHDF0wrqMcAkTPPRgXqUN5mEcMdVyaOBy03rr2mIfZhIcEE5R4ts34YKz1VbJiKlFt8w5ybODJ/iuY27LiejBLWU85x91lh4gCi2QGD0bd8lJmRDRfofBbAIYq5A0xcqj380dZkEy4=; 24:ypF2ArHZvGKmYxL1RCgXsOUSK79OkgryAnHYo4PvvsKK8/J2XnH9WAV0okxsRfvCXirOhMhOU62FYooKHQOvkqjAwGFI0VwmNIjBd12NchU=; 7:dBqaFaANx2XEsqBEcqUMc/ox6ZZTH+OgJhOO531hgBR3jbxrgGRNS6CLXskkJ10NOHrRWLgOMQix4i2Z8JEQpdik53JMsq5HDRA8nXwhiKvm0PZyQwJ06GLDvt9CDB0cBMGXI4wFR0TODyyEkHIO/SKsTzQTtr0Ey2wMW4VKjBUqdNBjuWcZ06A/wlW5PHkUIEcW/xuHsix5aTvmaWAnEUX33H/jBg14sKnUbf6u0wo9CVwKk3f0R/YzQ482nwTa SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 06:24:39.7813 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82084747-5f18-495b-6040-08d55ca9d2e8 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: DM5PR03MB2700 Subject: Re: [dpdk-dev] [PATCH 1/2] lib/cryptodev: add support to set session private data 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: Tue, 16 Jan 2018 06:24:42 -0000 Hi Abhinandan, On 1/16/2018 11:39 AM, Gujjar, Abhinandan S wrote: >>> diff --git a/lib/librte_cryptodev/rte_crypto.h >>> b/lib/librte_cryptodev/rte_crypto.h >>> index bbc510d..3a98cbf 100644 >>> --- a/lib/librte_cryptodev/rte_crypto.h >>> +++ b/lib/librte_cryptodev/rte_crypto.h >>> @@ -62,6 +62,18 @@ enum rte_crypto_op_sess_type { >>> RTE_CRYPTO_OP_SECURITY_SESSION /**< Security session crypto >> operation */ >>> }; >>> >>> +/** Private data types for cryptographic operation >>> + * @see rte_crypto_op::private_data_type */ enum >>> +rte_crypto_op_private_data_type { >>> + RTE_CRYPTO_OP_PRIVATE_DATA_NONE, >>> + /**< No private data */ >>> + RTE_CRYPTO_OP_PRIVATE_DATA_OP, >>> + /**< Private data is part of rte_crypto_op and indicated by >>> + * private_data_offset */ >>> + RTE_CRYPTO_OP_PRIVATE_DATA_SESSION >>> + /**< Private data is available at session */ }; >>> + >> We may get away with this enum. If private_data_offset is "0", then we can >> check with the session if it has priv data or not. > Right now, Application uses 'rte_crypto_op_private_data_type' to indicate rte_cryptodev_sym_session_set_private_data() > was called to set the private data. Otherwise, how do you indicate there is a private data associated with the session? > Any suggestions? For session based flows, the first choice to store the private data should be in the session. So RTE_CRYPTO_OP_WITH_SESSION or RTE_CRYPTO_OP_SECURITY_SESSION can be used to call rte_cryptodev_sym_session_set_private_data or rte_security_session_set_private_data. >>> /** >>> * Cryptographic Operation. >>> * >>> @@ -84,8 +96,11 @@ struct rte_crypto_op { >>> */ >>> uint8_t sess_type; >>> /**< operation session type */ >>> - >>> - uint8_t reserved[5]; >>> + uint8_t private_data_type; >>> + /**< Private data type. @see enum rte_crypto_op_private_data_type >> */ >>> + uint16_t private_data_offset; >>> + /**< Offset to indicate start of private data */ >> It is better to add some more information in the comments just like description. >> While viewing the code, it is not explicit that who is the intended user of this >> private data. > The propose APIs are generic, that’s that reason eventdev was not mentioned in the comments of this patch & > mentioned only in the description. it may be written as, "Offset to indicate start of private data (if any). The private data may be used by the application to store information which should remain untouched in the library/driver" >>> + uint8_t reserved[3]; >>> /**< Reserved bytes to fill 64 bits for future additions */ >>> struct rte_mempool *mempool; >>> /**< crypto operation mempool which operation is allocated from */ >>> + >>> +/** >>> + * Get private data of a session. >>> + * >>> + * @param sess Session pointer allocated by >>> + * *rte_cryptodev_sym_session_create*. >>> + * >>> + * @return >>> + * - On success return pointer to private data. >>> + * - On failure returns NULL. >>> + */ >>> +void *rte_cryptodev_sym_session_get_private_data( >>> + const struct rte_cryptodev_sym_session *sess); >>> + >> same here. > This doesn’t fit into a single line or in the next line aligned with bracket. void * should be in a separate line. -Akhil