From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0087.outbound.protection.outlook.com [104.47.42.87]) by dpdk.org (Postfix) with ESMTP id B17E32BB5 for ; Mon, 15 Jan 2018 13:18:46 +0100 (CET) Received: from BLUPR0301CA0012.namprd03.prod.outlook.com (10.162.113.150) by CO2PR03MB2359.namprd03.prod.outlook.com (10.166.93.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Mon, 15 Jan 2018 12:18:45 +0000 Received: from BN1AFFO11FD045.protection.gbl (2a01:111:f400:7c10::158) by BLUPR0301CA0012.outlook.office365.com (2a01:111:e400:5259::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.407.7 via Frontend Transport; Mon, 15 Jan 2018 12:18:44 +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 BN1AFFO11FD045.mail.protection.outlook.com (10.58.53.60) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Mon, 15 Jan 2018 12:18:43 +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 w0FCIeFi025293; Mon, 15 Jan 2018 05:18:41 -0700 To: Abhinandan Gujjar , CC: , , Nikhil Rao References: <1516017078-166766-1-git-send-email-abhinandan.gujjar@intel.com> From: Akhil Goyal Message-ID: Date: Mon, 15 Jan 2018 17:48:40 +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: <1516017078-166766-1-git-send-email-abhinandan.gujjar@intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131604923241114612; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(396003)(376002)(346002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(3190300001)(24454002)(199004)(189003)(76176011)(97736004)(53936002)(2486003)(86362001)(316002)(83506002)(23676004)(31686004)(59450400001)(104016004)(2906002)(230700001)(110136005)(50466002)(53546011)(85426001)(106466001)(105606002)(54906003)(31696002)(5660300001)(305945005)(229853002)(8936002)(498600001)(8676002)(2950100002)(65956001)(65806001)(68736007)(67846002)(81156014)(356003)(36756003)(81166006)(58126008)(77096006)(6246003)(65826007)(4326008)(64126003)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2359; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD045; 1:W8zoFc2NCwA60kYoJuCqsCgdLU674dk2rF2mtMHCcsBGLjbPrgRt40aLGmdu16lEjZv+94KzqwiKd5TKTfuH9kwOJfmUAwb/DYj9qYAddR+TBDzQVJEaFPMRB/wOi69Z X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1b673c7c-593a-4128-abf4-08d55c121ef1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:CO2PR03MB2359; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 3:gPGDU0WqRrsv15V6IkeSxUM/y/X2nDtgPwvRVe0sh/Md7ttZS2fDKuFMKT6Pwyt7P00i92RSkA9TUHvc1Ngo6DRvzUYaQaSswpZkv30xm7UKSGAJ4MB/xjKu97l5JU8lmnvZ03V4Jd5sGK04FkukaZiY1NMJ5nJ9eYNsqhULvKdmOunDvFxrKpwMO7tKivUAFRMRg2mvOVBVO+Yiw0oFUj9JQenRLTaN7O2H4HmhntpWFjP9bmVDinePcDotkjEamw2Otq6vllpslVl9koultIq4F/Z5yHvTaxRYSc0kJ6E0H0gZ063wfz2ucTxXzRZcd2x2B+ybHym+SAXC4ZvXbhDM4UbBN6iGh+0uluqLb1U=; 25:d5L7fm2trPC/P30VKn3Yx4P6vBP8m92165gjLrcKamDaZMsMsNCAkC9VEpXM0OfsPFgr3pfa9bAwxb41XFnnNpDPAFjBqgk8J0I722jJIm/WiMCHFcwcLRcx6uJfB/5Z0y8kfYB1ZNdclaqArV4jNDv4HZXGZGHx7fxLBsZmuSMMSKKj3bwg9Oyh1/nvFeCi0ycUPCz61xBpqaXHpUCOL7/Ke5BVHtHRQTK+U/1Nzr8p7CsOQzh0v2GeeQVU0Yj9GATzsQ9P5KUphj+FFNRvlNE+D7v0iDg2xXbIktrNu8/h5xzypOyZPTQRjMtOYcDBUhYeH/iSmt/HpHkasAo7zw== X-MS-TrafficTypeDiagnostic: CO2PR03MB2359: X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 31:fXipMT1L0odi5+D+jDzabYkthp1RaVvn/HQRZaCgxH3qsjPY5B8azLJ27w+2mE4U0mEuLe9F5bwDF7TJ0H6RxE+iS0a7CkFVS/AmKpy9fRR8gPuhGXgHE2MDS6Puzp/77GpLkRmr26MKT+A2BbeJOycSFZPAqOklPz6GNRoTuA4aJuQ/o7lwngXfwFFnCMYt/sGzNFtbDM8sp8PZ29C+se48T0TL7gnSnP9y8Wg5jQ8=; 4:p2PRPRRfvQTqGuhAVzQwpCk4nK7nAzjT0kACrNZWt0U6434ADIBkDzI3nyMVpPQIHDgCjGoFQ78OF7qAaDkDiG5EgOSY8LtMG85KsdMAO2+E19kb89rwlqQ2FlcBL8muTUO4t2A4AHcQzG9NKfIZyT8DMo0Rw5C58x6AkYsaGBKqYFW4Y2B1XGHKybvKsBTorP5qLCLuM+NL/pXwnF8x9EaHkB0USmunlH7vtf45VAz1KO0rWwGBxt4e81wlB40HxgmXZn3raK1TrttslKxP/eJ3Z2py0CANZSoiC+SrBMxh3ILpmraRUMdu1uU4EPXeM2FBJUzEhMj/ZS23J7haG+fDiyVA+n1Yj+h7k7C+qXQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192374486261705)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123561025)(20161123556025)(201708071742011); SRVR:CO2PR03MB2359; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CO2PR03MB2359; X-Forefront-PRVS: 0553CBB77A X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjAzTUIyMzU5OzIzOjN6MmhBR0FTZUsrM0pZSjdxZFV5cUI3aWdt?= =?utf-8?B?Q2phNjZJKzU0cFZ6NWdvUTlMUzRFRlp0cnJqSVoxUTdQeHRGL3JWbllUMjJQ?= =?utf-8?B?RDVnSkZzdTc5bTJtdGtnNVBKNnJpVVZLejJ1NHYydjV6WlVtNVdOMlhUWlpN?= =?utf-8?B?b3NDTDlKeFBGeWRUYUI1a09TWmpHUFJsR0hyL25VdU1jK0NXUDVjdWZJY3hm?= =?utf-8?B?ODB1bm1FcW90QSt6d3V5cWtKMG5teDQraDI4cEFjRVc5ajFsVERwT2hmWWRC?= =?utf-8?B?M1NLMm1xaDdKTkkySUJsajlUWDk5Zmd1empickw3Tzc5dzdXdk42MDBjb1Jn?= =?utf-8?B?dG9PSFQ4TFRkZGwzTmltbVVVRG44YVNrb1huT3F3U21uNmVxNlZVUjZ3QzVp?= =?utf-8?B?UDh4a1RuZ0pTME1hU3YwMHRIbG93VlVjTXJ2WVJka1YvRGszaHFyVkd1TVlT?= =?utf-8?B?TGNmbnk2bzh1bVBibzJWMmtzbnB6aU9LWXU0d1JRNVZLU2piSWI5bTl6TXNM?= =?utf-8?B?STZSM3dYcEwwK3pPdFY0bGNyU0R3VmtpYVI5VnFqQTVvb01MbThSUXlJLytV?= =?utf-8?B?d2xqUUV1KzU3UXo3cEJFd2czVFVmQzJ0K0ErNzcvL0ZPYStuajd3a2poZHRD?= =?utf-8?B?MFU1b1JybUZoR3hLREVnNnN1dGRrc2lIcnFuejFqSnFNK1VmR0tFSSt0N0ty?= =?utf-8?B?WW4yN3JONGx3UnE1bjdzTDNsRkY3Z0dYc3Z6aXFkNEdGcW9BNzd5N21xNWJX?= =?utf-8?B?bW4yUWZpWllzZEpUQnZEUTlvT1pzSWFKYmRXdzYrUWtKVFpORm5UQUQ4WE9H?= =?utf-8?B?QmZRZENQbTl4QVppbGFDZFFoZFowQXdHSzlFdzVFUVdBeUxDZXZ1Wlgwalgw?= =?utf-8?B?OFppc2syY3hhbWZCd1J3S1J6dnUrWG1oRmRwVDhkQ2E1cG1CNnVTUTdiR1pj?= =?utf-8?B?QTlvNXl1S1BPdkNtVGFtUCtwazdrWkJCV0xVOXVWQkU0djQ3b2lWY2tyY3Rk?= =?utf-8?B?Vm1ZVlR3ZTdLOXVNVzQra3dPL2FORlpBeXYzeno5aVJQQW5oZzlxalQ3MGhk?= =?utf-8?B?eVpNK2hmb0ZNSGVsR1BTeVFoem5wVGZkQ3RRcGxkVVFkYjJKVjRpblVLMkxH?= =?utf-8?B?S2Q0eXowaHFMZm80VTk2OWoyTHFtVG1ZcC83bzBnY1BJcFBMR2F1Z21CV0tF?= =?utf-8?B?VFNEZkxpUVhXTE9weFVuTURheHBqSnYwd1hiYXZpai9SbUtCbWYxbE9CSzdn?= =?utf-8?B?Qk94TVVKcHYwVklvYndGb3p6alFXOUNPd0xOWjVOQmhsb29mRGJJbzNkN2N1?= =?utf-8?B?SSsyQlpNZzJPM2Zkc1JRMGFtaW9QWmJHRW9UdmRhWkRzVXpUSmh4ZW9UOXZH?= =?utf-8?B?b1I4QmM3NWtTMEpZNzRxZXl4WklHcEhlbmNFOHUrMDJtaytrQVpydjMrZjZR?= =?utf-8?B?UnFmZHVFTUM3RHA4eHl5dUdhTEsxWTVGL2ZpWEpzZ2tlSStyTEpDVG1kVml2?= =?utf-8?B?bk1nTWJmTDFZYmxsdm1LY0w2NUlvenE4dnN1RDh5RjdEeWdVQ0EwWDE4TjFC?= =?utf-8?B?MWtyQ01icGpEU1lvMFdSVWUvbDZqNzJLUlRhMFo4SExMRlV6NHE1QXdDbHdz?= =?utf-8?B?cFJUM1lxYzdieDZuZjhxMU03VWdvQ29wNk5uSjVrRENzaUh1SGJhQXBBZnV0?= =?utf-8?B?TzFHa1RKdy9FS3JXSFlCVkp0QkRlZ0pQdVFNdzhXWnpoNHpzdzhlR213SS9p?= =?utf-8?Q?HVm4ZQtbI8WcmtfAlpx0RzykQtFv8jumfZf+o=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 6:KNyO+6J+G1Ajd32YUSgYJvcYANnyKiDr5XJsitiO9+Ovk9EAMXZNs8h7Wqj59il38uWjLYDM0RB6CU7+XOZhxm8lmbF9cAF3go+MsXab6scuZkcDLK44xg5gObaLdYhU6EHd4UV2jU8jI1cYu8ZeZrJ5l73JgoK6+oq1L3EfeEAm+k2zbhYaARBnnPY5MApmvsqHmweI71BR+wX0Sb3JztK4Z9gZkNFWxwj4iIJ9JbYqk0zbFUlVWln5ANWdPH+N5DaGCqSHycXDV5zYja4eMHnu1RPsZ5yHAhkgLSrRe2FtDHM/O/3BSLvE2HXlcKZSRtlA6QSo9dDHUexikTDtOdQ7eYZgqLnGL9mefcjLKLA=; 5:D5yF3Mj6f7Q2UMCHjHVZnPXQxvqpLem4yZO2uShveujU8KvZ/glz38NJX87lT5jE9Lwj42VSaMVc0a/LO+IiJ5NXNljUU6y2ZycLWWu+Mr6HA3apjWO/igeoshkxAaw17faNd+pVQcjaCCm7gb+inJ4BLFK6jgFQrKFFo2lK84Q=; 24:9/S/P5y8QQsOMBcdX07a08CBpLVsDKgTuW6rLxj+W5ElsA+GmA++p3MdceRPZwwyvzP3hDtPHym1fpXAuVhYkj3SO/Vg3t+jDCecH6BGOE0=; 7:St+s58C6OkoJCwPJWWhlZ6izDI4eGu8Zlg1LFoccJHQz/V/vgUq7uNaxoUGVLkpWj8/R/nJ/EmQ9cMrxYYLNP380HH5U40VlXQYLyB1/u2U2Yn7hX6gTYKDlo3lHo5REKeFB6k8MqCrwousXXGwdDFM+1srt1JoDgEevlJn9IdDzpHelwlQBf4hSmuuVe1kvRdDEzkrgFHuHxrPHbqFbTYoYN0AyUFaNAFNvrnW1Ty98kzd0qpoEK9JVGH6L6Q5G SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2018 12:18:43.9398 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1b673c7c-593a-4128-abf4-08d55c121ef1 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: CO2PR03MB2359 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: Mon, 15 Jan 2018 12:18:47 -0000 Hi Abhinandan, On 1/15/2018 5:21 PM, Abhinandan Gujjar wrote: > Update rte_crypto_op to indicate private data type and offset. > > The application may want to store private data along with the > rte_cryptodev that is transparent to the rte_cryptodev layer. > For e.g., If an eventdev based application is submitting a > rte_cryptodev_sym_session operation and wants to indicate event > information required to construct a new event that will be > enqueued to eventdev after completion of the rte_cryptodev_sym_session > operation. This patch provides a mechanism for the application > to associate this information with the rte_cryptodev_sym_session session. > The application can set the private data using > rte_cryptodev_sym_session_set_private_data() and retrieve it using > rte_cryptodev_sym_session_get_private_data(). > > Signed-off-by: Abhinandan Gujjar > Signed-off-by: Nikhil Rao Subject line should be cryptodev:.... similar comment for 2/2 > --- > lib/librte_cryptodev/rte_crypto.h | 19 +++++++++++++++++-- > lib/librte_cryptodev/rte_cryptodev.h | 30 ++++++++++++++++++++++++++++++ > 2 files changed, 47 insertions(+), 2 deletions(-) > > 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. > /** > * 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. > + 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 */ > diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h > index dade554..56958a6 100644 > --- a/lib/librte_cryptodev/rte_cryptodev.h > +++ b/lib/librte_cryptodev/rte_cryptodev.h > @@ -1033,6 +1033,36 @@ struct rte_cryptodev_sym_session * > */ > const char *rte_cryptodev_driver_name_get(uint8_t driver_id); > > +/** > + * Set private data for a session. > + * > + * @param sess Session pointer allocated by > + * *rte_cryptodev_sym_session_create*. > + * @param data Pointer to the private data. > + * @param size Size of the private data. > + * > + * @return > + * - On success, zero. > + * - On failure, a negative value. > + */ > +int rte_cryptodev_sym_session_set_private_data( > + struct rte_cryptodev_sym_session *sess, > + void *data, > + uint16_t size); Looks like this is an RFC patch. There is no implementation of this API and the formatting is also incorrect. Please correct formatting while sending the complete patch. Same comment for 2/2 patch > + > +/** > + * 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. > #ifdef __cplusplus > } > #endif > -Akhil