From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0081.outbound.protection.outlook.com [104.47.38.81]) by dpdk.org (Postfix) with ESMTP id 53B5023A for ; Mon, 7 May 2018 14:28:04 +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; bh=CU7uY6PNV/RBNDzp5QlG+auEKgKzVRAF8H7v22bbpZY=; b=VytegIKCkVlL3aerQP3tBMLPcS5EVhg4bGPT2zMotVzpoIcCRUASCDj1bHftAIzoJx31kj7I56wZolf/3SSTHQmJi1vs6V909TWKs1ifFYfjI36kz1e2NOJam1+mInss+213g++4012Y122d+9K35WiYfURrobQWWXzO8HR2s4M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin (115.113.156.3) by CY1PR07MB2523.namprd07.prod.outlook.com (2a01:111:e400:c636::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.16; Mon, 7 May 2018 12:27:59 +0000 Date: Mon, 7 May 2018 17:57:42 +0530 From: Jerin Jacob To: Abhinandan Gujjar Cc: hemant.agrawal@nxp.com, akhil.goyal@nxp.com, dev@dpdk.org, narender.vangati@intel.com, nikhil.rao@intel.com, gage.eads@intel.com, marko.kovacevic@intel.com, john.mcnamara@intel.com Message-ID: <20180507122740.GA15177@jerin> References: <1525546030-11204-1-git-send-email-abhinandan.gujjar@intel.com> <1525546030-11204-6-git-send-email-abhinandan.gujjar@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1525546030-11204-6-git-send-email-abhinandan.gujjar@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [115.113.156.3] X-ClientProxiedBy: PN1PR0101CA0063.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:d::25) To CY1PR07MB2523.namprd07.prod.outlook.com (2a01:111:e400:c636::14) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:CY1PR07MB2523; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 3:aJFtWfTMuV7maKZ/NQNyyx/n1aCwKiSsM5SgnnsjPj1AApqteieq6DdQ21udt81X+H8a8vCs2h28YuI3CSYLXTiyf0BVpssBNhTtUyXcm+d8JC5G7oP/HVIzhBkjksOFglQyPCoqYbj6wGZ41XsrkFCL4fKnHpmht183s3qflo0yg3pUDXiMp+X5oJuPTlPsG8k6omhskIj48sBpnhWRad1UZm5YItFdsSWk6L4OXhfw6HWeqETXHVj0xmMeBpOy; 25:fUyz0a1B/D1la4Q8JTqsMXm2zV8v8AVz9vpN1hQij8aEahHQZaMmHfFGm7pW8HsmPbs7KNcWZaghnYs2p2yq6B+uf/dqFONHL8HL8gNrka9aIuZV6JGIGeEff9umtlNETQpiMOw49juxTuF8FV7RlhPONP46dm9fx+P16FhetxTmLKf1q/E8mrZd3bRq3xDH5KHaycz4raUPXSOiIpxfT5kH7RL7kNiECNeW7YY0d8VQdLQCeoUap+3sYHck7t6/ezTcJ5YREUOzkX8vOzNx9fLSz7wtzKQStNXQJ1pvu5ZQ+2WtN4X/uTMfB5F1oLGBpbcMg3+agP9t66LMGmUV7w==; 31:2ffAiFD1j87OzOLzndKI3XFQgaHes6cIzOSu3A0NdyhzZTEIG2a8VYiyVl/2gH/MkEQrnuTy0VQ2fDrDFMHYCsKFp7x/exuoCbOKAwgz5Byca5zrbIMMqGL8xNExl3DcQvGtgcKkv4ct1ULGkGGjvMooThIAw67BiHYDib47zy7HIdlWaqLjT5PwfhhvfGP8s5FG4YIzsj+ofts4qSmbdgH0k+sFMLNaj3Odh4Uu9go= X-MS-TrafficTypeDiagnostic: CY1PR07MB2523: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 20:w6vNb+jcKiKv+y+n9vFv8aWQIJWM7gWHRXcJ39XzleEe/bdDx23yiloQSj5Lf7tZl0PORbeaCpIXK0KBM8WTkKl1qbaksHT1ccmxTDCutNoTwSbRawPN1aVF2DLjCquZ+3Ahwf5Y4MbI+TegzMY6V/ugFZ3B2VWLBXUHf9okRtlSHobKR/XFeHRVn2OufNtX741b1zVcVctdIPBl8OpizItNBRCi1jp9Qkqsy7seeVpvSqUU2UeiQV9GlCXMsEDqDDOKh1cfZMftxtIWVqWm0LCt5hEQLJHnsK6B9qjh/UqJe6GxLA7NPxj8XF7TVXOEQk2q3qleUDSvkfG+JBiER4XPi+hZznYTpWFHi1qb6IO8feeJPE2d7T/pY87L7Rxz6JMgA46ZCSM+uj2CxRSRTNQ83TRqiBhfNHjtWQBWUC5T4vDnxUyFxbA47g/OYGgbjGoT04s8yFTPEjkFvELnYyLptONRGPwUGKGk53STPFNH6bBBr+v5uY+UiXzgae8lCZkZvdeRve9+/8PDwAWAHUg8Rq0ifePoxt2GNBuoayhL1pbJcl+zbtMGeR+s5p0gP4UL2bbqW7d3QdWYWjOCqDGShE0ovQoKy0nT/MoRGZI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(149027)(150027)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:CY1PR07MB2523; BCL:0; PCL:0; RULEID:; SRVR:CY1PR07MB2523; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 4:V2n2NlZwzWR2Mrbr8XO2IDGYhAiCSDPDHxMKjpfb1lHvbt9RwTCr8Jt9VHJQl54bXiye9dbdvIK7G+/BxoelEluloj6leRG7aDqtWz4v7h16UXK6We04gYHPmjqOyXeGfuVY9+S9gxDnrGiqXNq692+uOu6zvbf5Li0+GJ8b5oFoV57f6Tg0nRc8kE34xfuI8JBG07cR11IhJCWM55ExpHEy/0WFdkd3iylh1oJ0tTKTztWNCGs+IQFeEmLwtoMxGnvDPjGPcoN/rp2+IFZw0FZuMb+pIG1IW6BcL0ObId0vyWTmuW2kh5SaopDCW1uQ8cCkTzuRFQvoP6APR25UuWzPugDTzbPfGYhvoeNrwNw= X-Forefront-PRVS: 066517B35B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(396003)(39850400004)(346002)(366004)(376002)(13464003)(189003)(199004)(42882007)(33716001)(33656002)(50466002)(6916009)(478600001)(7736002)(8676002)(476003)(72206003)(81166006)(956004)(81156014)(11346002)(5660300001)(106356001)(486006)(446003)(6116002)(44832011)(105586002)(3846002)(25786009)(8936002)(386003)(59450400001)(1076002)(76176011)(52116002)(16526019)(23726003)(66066001)(229853002)(68736007)(8656006)(26005)(97736004)(47776003)(6496006)(4326008)(186003)(316002)(55016002)(6246003)(53936002)(16586007)(305945005)(2906002)(55236004)(58126008)(9686003)(33896004)(6666003)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2523; H:jerin; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB2523; 23:XC07ikMwoctpIskdvgguDZzDj+DhWQxIZFctcbfO+?= =?us-ascii?Q?sR4piIHvlo1JrNfI3DfwZLsP5R7FR9R/j18OZzBk79YOxGFy6NAN73Fd5VNl?= =?us-ascii?Q?Ye6fYQ3bf9WHktk4dR7SG4hQrzrBPVQRBDGjIPnjfOn8xxHV6Wz/4/oSOJUD?= =?us-ascii?Q?nYx40zdlznCg8JpQOrEvtoyeme/a4LzyRkJJUyQt9wiHN+imxH5fqdT9yn8E?= =?us-ascii?Q?9fyc8xaPrK2t3MPVNLzKJMJ7hdO1A1AGyVYebQoVw+OWh74naffKiMlJ1lJc?= =?us-ascii?Q?GNIikzaG9LDshY1zjqgxAdQzJIk5lTDN3PTrlU2G5+wbEaqhIMLgOciCTgwB?= =?us-ascii?Q?6UmA+V+WbiAGy4DRlWh0JklYvglcFTV68dGERX2HTCCDEj6hwzpg3ymbtyU7?= =?us-ascii?Q?DQq21aIT0R0NXvYLgPXBgVh0vzloII9TpZawdEVzo3MNr16bG4CdjbNszUcB?= =?us-ascii?Q?NrA90ATL2Z/094WjYxZJErlvSfb8CL+BsNu87PhCIF20QIjdV3r2OQfjGz9W?= =?us-ascii?Q?le6Xwaj/+sQANY2j6dELbVJKSjqUoUtL1O/L3SFl8tvMCAtiSUHeI6zZYcXX?= =?us-ascii?Q?fbBPMO4r0UxRgAHuTQ+21gRkvsuBQrzyR0qSA52/EESTqVeXLBpmFa2gAIxk?= =?us-ascii?Q?RzKoxc77/prBFF2CoZnyVsMpQWM23JeAtUU42NZvMt5tBKI9pzahndWiMhPp?= =?us-ascii?Q?zmisb9vVCP5SBRmL4Vq2E5cbZ99RZlGsIeePNJ/I/dZ9pdB/h5/cr9YUO1Sz?= =?us-ascii?Q?Lb4gW9RwW/rJ+zejBsb8jCjat/J9GTz+yIqqhCguLXYiMdqDzf1hynAPFzPM?= =?us-ascii?Q?L39gC4NFkqN0cdeSM8JrHavLqI4gpz+dQZV7XBGgIk9y3r/pf8RvD67ImrI1?= =?us-ascii?Q?uADaR3UdbluXkRiY8dTfCw83F8/CQG+Xkl3D20nRaT3T+CfzJWjGAFgAKEC8?= =?us-ascii?Q?QvmIv9KtP+bpvKiGjU1PWbd4JLoLzT3VFi/tpyLXPotY7QfVmSUZnk8yq5Nh?= =?us-ascii?Q?rU0EykKihhq6a2/4pgftQ3B8XoQdUMtofbSGPoBVCRCYNMZDOFl8QaeGJf4l?= =?us-ascii?Q?g48PPwVW6TI0AqA93QnNvcLXe+9Cdwt2uloxRuimVuO+9LsCjiQOcR1mGgib?= =?us-ascii?Q?GqxILYMwJi+i9lSOdxrU2jy0oA1tPohPCdx8Fn7zEFE5Dv2NIhg3LMk0R8g8?= =?us-ascii?Q?6TtN/Tmy2aWIne/mFSzcxRKQ4AVKtn17zNVqlCdOm4a/nM8XyzclNJsq2Mpj?= =?us-ascii?Q?uoN59vsJK7xZpOxM2vNUoTIVNpyNdyZQZzYcA6CEU3ge7k3Ne6SWRNDfbNMw?= =?us-ascii?Q?V/UWhteZJMPuScLRu6nq3rpg4OVP4RmChP6I7GdJeD+H3UAd6/qaNqvS3YzO?= =?us-ascii?Q?TzQ4i6OR6dqBgbu+wfq1mAWuMdCzY7K07VAZ4tx6Pxl/t01?= X-Microsoft-Antispam-Message-Info: 1r2eUqSbA1T13TNbNmpTfJ+8LNNnEVi7wAhCcFa2A1bHT7hY+keo/rEtZUYiFh5WPbyZ+k7xPt3V7IJ+QFKlQar8NsthPx787NXRhPifUTLJlFcHke72hE+SNxvFC0j40Ojihkhwh+2CeWpxLW3SWndDbAY01GaDBHxU32J55DxmsaPD0JmibiGoy+AgSIwq X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 6:y08GPFxY8z7hr3boJEFBU74dSoDS/j/0hY56v8X+Jm2jcBv6IdbGNfXG1TiXj1U67Zvk+3swcG21muHnMP2hVjBRNA/bCRWNhVLe+NWP8oMDIjsvz5Je7H0PzRg5jS6JnriaVO5ZNrokQtHvtLdwe2XSXZTiqEnErKU+vg8tYPBOCrsGFdtwwH4304FdW8LFBUoX4HJcNtCRtV0ozyrn8BVey4mb4vEKGS+tMQJ7AnZDbLxiLFbUJxpGK6wNJjr8bT2YWTBT1/js8t+wRKoUNqekskMgAtFB9L11zJEKLGJob+mjHSghbTNVfvJRYH8hL9m2ZnsotCSuBJp6MDlbpYykAW7ZQLLSC6zAl1A9Q4LZ4UI038wQDgZ6H7dLomCkAxFUVYjSwYgXsraIwaUIrVOStS+KpdPcjti6wnuZFmvImUx6pxupsnvs6nWLwPC7KLPMQKu6IqrrVOc7Jln5/A==; 5:tRRFyrDRVDSBE3+icSLRDSvkld/40MmCebUZz1mCsdJIk881WVoMzP6+VluqlaXSFbEVzc2wZwcokNfO86eVL7D4aXeQLJakncVuYt1H6dge5r7/9ZRSoIzBuQGMtnW27QOtlXVhx04xtu06YMJrA7J+raJnBv1GkM7W0vC744s=; 24:/Y0kaquz9rKzv7QT45Mctla+niU6pCuGVM4Po8YodlPaTiLN0XlY5lWdd71N4mqh1DiWQ/AHHs+xr60+a2113ck2YDFmaAVXmlwZligTOuY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 7:SWdP0OBiGJpbV64PenKLOa97iGufiL/nvzsGtWk8NDYqGjxttBCj/TCF/Iiynj9KNva/bQ3hmTCFNnhDw6HoYWz4fSvwyPIOPrhuifrecHJLQ7c2rGQytO+TEZh7NPs6I241wS2yj2k/gZBbUZh+oO9RdDWq7TVYDoTCH1a9c6WA6eYPhN58bgCecGuU2BJZL+mNce0+JKCXbtAYTyt5QZ4oTWGl6j3UkBVVtUTEFSJQYWjA+zS2Hs3vxKPz47WE X-MS-Office365-Filtering-Correlation-Id: 9eca557b-cda0-4369-bef2-08d5b415fa04 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2018 12:27:59.0501 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9eca557b-cda0-4369-bef2-08d5b415fa04 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2523 Subject: Re: [dpdk-dev] [v3, 5/5] doc: add event crypto adapter documentation 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, 07 May 2018 12:28:04 -0000 -----Original Message----- > Date: Sun, 6 May 2018 00:17:10 +0530 > From: Abhinandan Gujjar > To: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, > akhil.goyal@nxp.com, dev@dpdk.org > CC: narender.vangati@intel.com, abhinandan.gujjar@intel.com, > nikhil.rao@intel.com, gage.eads@intel.com > Subject: [v3,5/5] doc: add event crypto adapter documentation > X-Mailer: git-send-email 1.9.1 > > Add entries in the programmer's guide, API index, maintainer's file > and release notes for the event crypto adapter. > > Signed-off-by: Abhinandan Gujjar Adding documentation maintainers for review. + john.mcnamara@intel.com + marko.kovacevic@intel.com > --- > MAINTAINERS | 1 + > doc/api/doxy-api-index.md | 1 + > doc/guides/prog_guide/event_crypto_adapter.rst | 244 +++++ > .../img/event_crypto_adapter_op_forward.svg | 1073 ++++++++++++++++++++ > .../prog_guide/img/event_crypto_adapter_op_new.svg | 968 ++++++++++++++++++ > doc/guides/prog_guide/index.rst | 1 + > doc/guides/rel_notes/release_18_05.rst | 6 + > 7 files changed, 2294 insertions(+) > create mode 100644 doc/guides/prog_guide/event_crypto_adapter.rst > create mode 100644 doc/guides/prog_guide/img/event_crypto_adapter_op_forward.svg > create mode 100644 doc/guides/prog_guide/img/event_crypto_adapter_op_new.svg > > diff --git a/MAINTAINERS b/MAINTAINERS > index 60ebef7..ea5dc40 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -367,6 +367,7 @@ M: Abhinandan Gujjar > T: git://dpdk.org/next/dpdk-next-eventdev > F: lib/librte_eventdev/*crypto_adapter* > F: test/test/test_event_crypto_adapter.c > +F: doc/guides/prog_guide/event_crypto_adapter.rst > > Raw device API - EXPERIMENTAL > M: Shreyansh Jain > diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md > index 26ce7b4..0162bb7 100644 > --- a/doc/api/doxy-api-index.md > +++ b/doc/api/doxy-api-index.md > @@ -21,6 +21,7 @@ The public API headers are grouped by topics: > [eventdev] (@ref rte_eventdev.h), > [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), > [event_timer_adapter] (@ref rte_event_timer_adapter.h), > + [event_crypto_adapter] (@ref rte_event_crypto_adapter.h), > [rawdev] (@ref rte_rawdev.h), > [metrics] (@ref rte_metrics.h), > [bitrate] (@ref rte_bitrate.h), > diff --git a/doc/guides/prog_guide/event_crypto_adapter.rst b/doc/guides/prog_guide/event_crypto_adapter.rst > new file mode 100644 > index 0000000..899f393 > --- /dev/null > +++ b/doc/guides/prog_guide/event_crypto_adapter.rst > @@ -0,0 +1,244 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2018 Intel Corporation. > + > +Event Crypto Adapter Library > +============================ > + > +The DPDK Event device library :doc:``provides event driven > +programming model with features to schedule events. The cryptodev > +library :doc:`` provides interface to crypto poll mode > +drivers which supports different crypto operations. The Event Crypto > +Adapter is one of the event adapter which is intended to bridge between > +event devices and crypto device. > + > +The packet flow from crypto device to the event device can be accomplished > +using both SW and HW based transfer mechanisms. > +The Adapter queries an eventdev PMD to determine which mechanism to be used. > +The adapter uses an EAL service core function for SW based packet transfer > +and uses the eventdev PMD functions to configure HW based packet transfer > +between the crypto device and the event device. > + > +Crypto adapter uses a new event type called ``RTE_EVENT_TYPE_CRYPTODEV`` > +to indicate the event source. > + > +API Overview > +------------ > + > +This section has a brief introduction to the event crypto adapter APIs. > +The application is expected to create an adapter which is associated with > +a single eventdev, then add cryptodev and queue pair to the adapter instance. > + > +Adapter can be started in ``RTE_EVENT_CRYPTO_ADAPTER_OP_NEW`` or > +``RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD`` mode. --- > +In the first mode, application submits crypto operations directly to the crypto device. > +Adapter only dequeues crypto completions and enqueues them as events to the event device. This portion you can update from header file comments. --- > + > +.. figure:: img/event_crypto_adapter_op_new.* > + > +In the second mode, application enqueues crypto operations as events to the event device. > +The crypto adapter dequeues events and submits crypto operations to the crypto device. We need talk about OP_FORWARD capability here. This portion you can update from header file comments. > +After the crypto completions, adapter enqueues them as events to the event device. > + > +.. figure:: img/event_crypto_adapter_op_forward.* Diagram text you can update from from header file comments. > + > +Create an adapter instance > +-------------------------- > + > +An adapter instance is created using ``rte_event_crypto_adapter_create()``. This > +function is called with event device to be associated with the adapter and port > +configuration for the adapter to setup an event port(if the adapter needs to use > +a service function). > + > +.. code-block:: c > + > + int err; > + uint8_t dev_id, id; > + struct rte_event_dev_info dev_info; > + struct rte_event_port_conf conf; > + enum rte_event_crypto_adapter_mode mode; > + > + err = rte_event_dev_info_get(id, &dev_info); > + > + conf.new_event_threshold = dev_info.max_num_events; > + conf.dequeue_depth = dev_info.max_event_port_dequeue_depth; > + conf.enqueue_depth = dev_info.max_event_port_enqueue_depth; > + mode = RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD; > + err = rte_event_crypto_adapter_create(id, dev_id, &conf, mode); > + > +If the application desires to have finer control of eventdev port allocation > +and setup, it can use the ``rte_event_crypto_adapter_create_ext()`` function. > +The ``rte_event_crypto_adapter_create_ext()`` function is passed as a callback > +function. The callback function is invoked if the adapter needs to use a > +service function and needs to create an event port for it. The callback is > +expected to fill the ``struct rte_event_crypto_adapter_conf`` structure > +passed to it. > + > +For OP_FORWARD mode, the event port created by adapter can be retrieved using s/OP_FORWARD/RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD/ > +``rte_event_crypto_adapter_event_port_get()`` API. > +Application can use this event port to link with event queue on which it > +enqueues events towards the crypto adapter. Here you can describe if the PMD has RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD capability then what could be the difference in application. > + > +.. code-block:: c > + > + uint8_t id, evdev, crypto_ev_port_id, app_qid; > + struct rte_event ev; > + int ret; > + > + ret = rte_event_crypto_adapter_event_port_get(id, &crypto_ev_port_id); > + ret = rte_event_queue_setup(evdev, app_qid, NULL); > + ret = rte_event_port_link(evdev, crypto_ev_port_id, &app_qid, NULL, 1); > + > + /* Fill in event info and update event_ptr with rte_crypto_op */ > + memset(&ev, 0, sizeof(ev)); > + ev.queue_id = app_qid; > + . > + . > + ev.event_ptr = op; > + ret = rte_event_enqueue_burst(evdev, app_ev_port_id, ev, nb_events); > + > + > +Adding queue pair to the adapter instance > +----------------------------------------- > + > +Cryptodev device id and queue pair are created using cryptodev APIs. > +For more information see :doc:`here `. IMO, we need to talk about EV_BIND capability here before using queue_pair_add() > + > +.. code-block:: c > + > + struct rte_cryptodev_config conf; > + struct rte_cryptodev_qp_conf qp_conf; > + uint8_t cdev_id = 0; > + uint16_t qp_id = 0; > + > + rte_cryptodev_configure(cdev_id, &conf); > + rte_cryptodev_queue_pair_setup(cdev_id, qp_id, &qp_conf); > + > +These cryptodev id and queue pair are added to the instance using the > +``rte_event_crypto_adapter_queue_pair_add()`` function. > +The same is removed using ``rte_event_crypto_adapter_queue_pair_del()``. With above comments: Acked-by: Jerin Jacob NOTE: Wednesday morning the last deadline for RC3 pull request, If we can address the comments from all parties(including NXP) before that then we can push that in RC3. /Jerin