From patchwork Thu Jun 2 15:07:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nikhil Agarwal X-Patchwork-Id: 69137 Delivered-To: patch@linaro.org Received: by 10.140.106.246 with SMTP id e109csp21587qgf; Thu, 2 Jun 2016 02:38:22 -0700 (PDT) X-Received: by 10.55.207.149 with SMTP id v21mr42785232qkl.195.1464860302143; Thu, 02 Jun 2016 02:38:22 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id c201si33586045qkb.238.2016.06.02.02.38.21; Thu, 02 Jun 2016 02:38:22 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id C03ED61764; Thu, 2 Jun 2016 09:38:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, DATE_IN_FUTURE_03_06, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id B08F1616BE; Thu, 2 Jun 2016 09:38:17 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 73F216170A; Thu, 2 Jun 2016 09:38:15 +0000 (UTC) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0094.outbound.protection.outlook.com [65.55.169.94]) by lists.linaro.org (Postfix) with ESMTPS id A604661200 for ; Thu, 2 Jun 2016 09:38:13 +0000 (UTC) Received: from BLUPR0301CA0008.namprd03.prod.outlook.com (10.162.113.146) by CY1PR0301MB1593.namprd03.prod.outlook.com (10.162.166.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.511.6; Thu, 2 Jun 2016 09:38:12 +0000 Received: from BN1BFFO11FD013.protection.gbl (2a01:111:f400:7c10::1:168) by BLUPR0301CA0008.outlook.office365.com (2a01:111:e400:5259::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.506.9 via Frontend Transport; Thu, 2 Jun 2016 09:38:12 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 192.88.158.2 as permitted sender) Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD013.mail.protection.outlook.com (10.58.144.76) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Thu, 2 Jun 2016 09:38:11 +0000 Received: from netperf2.ap.freescale.net ([10.232.133.164]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u529c8fw012990 for ; Thu, 2 Jun 2016 02:38:09 -0700 From: Nikhil Agarwal To: Date: Thu, 2 Jun 2016 20:37:44 +0530 Message-ID: <1464880064-32591-1-git-send-email-nikhil.agarwal@linaro.org> X-Mailer: git-send-email 2.8.2 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131093338924523282; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(189002)(199003)(9170700003)(2906002)(19580405001)(19580395003)(450100001)(586003)(81166006)(8676002)(92566002)(86362001)(33646002)(106466001)(5003940100001)(105596002)(36756003)(2351001)(229853001)(189998001)(6806005)(5008740100001)(104016004)(11100500001)(110136002)(107886002)(77096005)(50466002)(50986999)(87936001)(50226002)(48376002)(8936002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB1593; H:az84smr01.freescale.net; FPR:; SPF:SoftFail; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD013; 1:17yqBampSwjzNegVyiTarZlcEVfB3LPBlLK1sm2WoO0o67Fo6UTbAPh4Av4CcxI8PIsQPfyzxbKpvv79Rg3d/NiEFVOVI10ip0FxBGWVAg40ZHdM8hob9lMmqfUlD44O38Yl94gxflHmwlxw9x/lHBRC5pybI3NYR7b8gM2ILcv+JaLRwhN/LdRMonF40sUmcLmkBgj8FEq7RYskklqEqhLVyQEzSkq/f3ARcaIUBxM8gPw2Hpmuzr/n2CMNvJDduE66849TS1ihbBwpA7Rv2Wh8rd3XFW+Gj7gYIzME54abZu71q4SSI3qGRSVNyY+2lKi94XpQx7IgWzz439p1dAoCXnkktkI59s5qRrPuZn5V84F8hG2Uzvfw6i5SZ8qIAJJtVQWHbDJta3iF0P/FmfuGtqRceq42LfSF9RoH+6TTTuE4jk7pTcgyYG05QD+yFgFLk9qPGwaocEe9+9ZCSEEBh6kkHzWeOm+UYqVdtwuwPOSYYzYFdGOF+LMCfMqwoUlDGFUa1FlMRz8SupPuTw== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 3dfcbdeb-c777-4133-141a-08d38ac99d68 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1593; 2:XNPVKlz+6jj6L6h9ADuBR/cmgHA/zVF6OTSUi2chlALUcgb+RAj2BHrG55rGbSNHY5bVPh/bYhxkJy8sapwXkD/rh0yurE6pxgfM/z5vaXCRXvfYCTrkvSLSlhdGx5XrpBSCRguV7J0Ugho6KRwbP5MrCyoqQ6lON0tsprpdh61eWT32EOjDykYrIBnSB+xc; 3:ViCl90l4y+ld/n45JdJ7HesGLvnFMdKkvmu3Vqdd8eRg3g+0YYaDknsADKVKh5KpDdUXc1gJqJv67ZPC2McR027Ume4H6UAN7dQNDGStbQ5gXIC1AQL8OmlBE8rk1k05E/aSOzVdlYob2I+3hf0dD4bkFLXBbJ908/pNBBHXBdVQaBoi4QO5ZB2JPrWilw6EZ7ETeD9UkKUVB7KqhBPhiHfCG2TLgeSPHqucNZqj3gc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1593; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1593; 25:vIxvRHEyhS5336hamjRfnyLIMPZE5aENfrhCGlu5MmxrDMCDZYteurXaAWfEZCaJtGNlR648fIUuNNgRXVLSVlPU2vJmTCp1sZzduAiE8MgGREM2XA+02FRg7uR+YbVPxACHgzWWb1VD5MSwkf7rUPv2DU0gt9kZcNULakXnAw9ytV1ZjKrA7dyEtp+UtwvpD9hlM9yamhh2SAuCnCsVpLmc0S6fJYck3lkQjZM0whykzN9WTAIDCVqWMQR2bHMd88Hdp27DJJUSlbgttG2dImU+AeMNH72AhmOJ795FSTygK8W+1TrREc7eE20VSIsDYMN9Euo4TXQ03uajZZ9Y4iUB0ULBnuMNOe5M9OHJtvHa3wrl7BLmplKv6lV4CaojcUIUQrYWuHDZ4tyBdOne8YphPNQ+AzsTRBeoZPfpVg1CzbLCLPHV6DQSMcuFX4BkKl6lZECmnz85ZMELMb8+R63tpSTvvH/oVOt868bGnsjLGboJlIPuyVUHFTHJOudoDBxYBdYej7tFGOn16n8w/9+idX1nwi8NA2PwnAJQqjOlCQiE7wKwzRsZfRQ/p8hke1uNToS/JLZJtHUwKSfejYp7yB1p18VeViq4Px5oJ+PmiOOTPU1zrBJP0wi8Tbhywv6X2zADswS1bjU+BTPDHH/Sq0NmG7HhvCRFt4ZlqY5Sw8F0RKF74wzTZ/nBdcLQLDEOZ3au/eTybqzsxfV804s6/M9l/FBWWnEovo5SdKhSfc+S1iAygJHuYNmWw0VQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(13018025)(8121501046)(13015025)(13017025)(13023025)(13024025)(10201501046)(3002001)(6055026); SRVR:CY1PR0301MB1593; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB1593; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1593; 4:jAvdMMbpDY3TxO5ef9/C3qY6DXagDkWww4OWf2WdKwUF0BNoKVjv/7HzwEsXWxIOAKa6Vo+O7WOHSuRbZJBrCwMa/FQova6rMdGkfC6xvKvgNMWbRUdT0LUCAxdj6mlBhzGnmNwjFJ+Fa4uAfqxh5w+qRfiZxRwkmO+mJiA8KfEReCI0YANsQ8vHyErrAFjKYvRamc3o4SQYeJ3RsF9F2MjDA07llYbOQa6RqdpxaLqqxhTRQniQefyr0eohI+OEX1X47CJPzjz7UjTnmaUqIeTr8uPLBWuyX+Ucshv2HYlmhiSdNrniO/h79BVJFMSWD2G7JJLxMEP3/sX/LXb5ztzJv1rqeCx8LduoCPQnM7F+NL5tORw/AZ2G7E4CotGr5ajdSzGOPCqa6tqqyEQPdZZGHOFdgoLEpRnl1S0eN13N7+IyNORUHJIBaW1p/9kDpQzaH7be816It/KjcjmLzr88IrIgjfkXz2Dkg3V/8k8= X-Forefront-PRVS: 0961DF5286 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1593; 23:tZi4kaJx/KyZ36dJM+NZlsnOC8pPy43Gihd0nVT?= =?us-ascii?Q?HdsqZCxlzabFc/xYx9/LAV0aa0R/rdjasgFIMuvHleiIjRygmh+6a9oxON7+?= =?us-ascii?Q?zDZcWkY1IoLGUA/RJGMHirkamQCY0nYTdKQ/GHqxhMPSx6t8Q+SWolMlsHKf?= =?us-ascii?Q?d1fo1kCNIvK+uv35L04zMYQGY6+AltprQQHSisvKsOeQOHY6VZOc+fwONyiq?= =?us-ascii?Q?8eRtvcPgM2CBIw1BuuB5zNzx9tO9tK9p9bxOWN35uKDgS+AXTpF0VwN33/th?= =?us-ascii?Q?fhNE7/52URWO9+VEdnjmLoKpgFKOzyOpYnn7VaeORt3d38qRqDzFcRpx0wBP?= =?us-ascii?Q?4EMsT9PBRMovyRxnE5TjwyFzIaUkW4YGU5BBG2IuektVsCsBz7SUt0wEmgSy?= =?us-ascii?Q?7BN/visQ2/n6tptcKyDwomfHaB4h9amAcSO0ZdvX6Eeuqtnxjm+vUM8achd5?= =?us-ascii?Q?StJwCh8vtE5euup55qiOw/8GUYXd1DDybZ411IYMIWnZL9CGq+momoqt7jeo?= =?us-ascii?Q?mVrAq/FkLNc1VG4e4OlmmKMr5KfRX2FXepcsg+hGl+W5Z5Z27YRC7feCTcIT?= =?us-ascii?Q?Wx7pPoaglXpYS/j2mLAV8GegT+enmx+QIe2Hd/hhEZrUTM0lYTw0U6+mPVQJ?= =?us-ascii?Q?gf2EoVescDR/glebYX0Tjs7VI/fQk6HXgVo5PDbUr86LenlnKZKfsgsjObIe?= =?us-ascii?Q?8qFntv56V06+6cw9VHiOKBfLIv5kko03XLN4I42OeEZnekJDhzDAlYI53BjB?= =?us-ascii?Q?ZawUyUNxNj4r0XL9AvVflGI1xYKAg2jOKvPhXVU6/t0WUbUiUdMFS6z8u03q?= =?us-ascii?Q?McUXYwoYHWLAB6X0R8dXHElGeKdeqV2Ck1X4xzXKod8mVTdVgedLokcIJ8ek?= =?us-ascii?Q?1D03yEkG4txpfzdBfppNBufjizSUbNqzTSozJPL0pIBzi3ZW0aSCT7wrjVrV?= =?us-ascii?Q?4w9E0bqlItNnJCvNG/MJr9R9wml3pv2+VYA2x4GrrKQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1593; 5:prtNELfoNQ3yTDg/xd5UXj08JjMEz/ymw7G1NVRWe2+kLyCpJcQLz3yhlUu8EJSnhj9S5yTjiLuGld6gsdu8lT7GhykUG6rnapRQheWO+D4nZ80UPJ4pdGRThROUzRK0Ovkbg4kahdVj3FItWMiFGN+CQzvppgU5/Orar6qrRkM=; 24:uRqzGQQDcGYDYwQxFsJiymA73UUZC8Bwm08y9bbhsLlFDJd378Gf6qICeGMSSo0wJkjfH1YAupds076izWVTJyHWwwA7vhtU7gvuIOM3FYw=; 7:5C+OCWJIwOJFNHKUVn6GImRJrEns3PvtLu/1VQG9XpC4YeGYneUFCvfOibwESypWAzFE1mdpQZjQWFqnvSH5LFkND3Jbk+1ap0T0w4QgarOPKZ6CrijCtdF4gCSWmHSHc7ZmK8AsVAipF8SOSwEUyJy8YcDF14dBAKIbjKJ1RDcfAC24nfiWDU6BoTOogmPC SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2016 09:38:11.7503 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1593 X-Topics: crypto Subject: [lng-odp] [RFC] Adding Multi variant for Async crypto operation. X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Signed-off-by: Nikhil Agarwal --- include/odp/api/spec/crypto.h | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/include/odp/api/spec/crypto.h b/include/odp/api/spec/crypto.h index d8123e9..1c2b384 100644 --- a/include/odp/api/spec/crypto.h +++ b/include/odp/api/spec/crypto.h @@ -214,7 +214,6 @@ typedef struct odp_crypto_session_params { * @todo Clarify who zero's ICV and how this relates to "hash_result_offset" */ typedef struct odp_crypto_op_params { - odp_crypto_session_t session; /**< Session handle from creation */ void *ctx; /**< User context */ odp_packet_t pkt; /**< Input packet buffer */ odp_packet_t out_pkt; /**< Output packet buffer */ @@ -406,6 +405,7 @@ void odp_crypto_compl_free(odp_crypto_compl_t completion_event); * If "posted" returns TRUE the result will be delivered via the completion * queue specified when the session was created. * + * @param session Session handle * @param params Operation parameters * @param posted Pointer to return posted, TRUE for async operation * @param result Results of operation (when posted returns FALSE) @@ -413,10 +413,31 @@ void odp_crypto_compl_free(odp_crypto_compl_t completion_event); * @retval 0 on success * @retval <0 on failure */ -int odp_crypto_operation(odp_crypto_op_params_t *params, +int odp_crypto_operation(odp_crypto_session_t session, + odp_crypto_op_params_t *params, odp_bool_t *posted, odp_crypto_op_result_t *result); + +/** + * Crypto packet burst operation + * + * Performs the cryptographic operations specified during session creation + * on the list of packets. Burst operation can only be performed asynchronously, + * and the result will be delivered via the completion queue specified when the + * session was created. + * + * @param session Session handle + * @param params Operation parameters + * @param num Number of operations requested + * + * @return Number of operations actually enqueued (0 ... num) + * @retval <0 on failure + */ +int odp_crypto_operation_multi(odp_crypto_session_t session, + odp_crypto_op_params_t *params[], + int num); + /** * Crypto per packet operation query result from completion event *