Hi, > -----Original Message----- > From: Gujjar, Abhinandan S > Sent: Thursday, February 1, 2018 9:30 AM > To: Doherty, Declan <declan.dohe...@intel.com>; akhil.go...@nxp.com; De > Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>; > jerin.jacobkollanukka...@cavium.com > Cc: dev@dpdk.org; Vangati, Narender <narender.vang...@intel.com>; > Gujjar, Abhinandan S <abhinandan.guj...@intel.com>; Rao, Nikhil > <nikhil....@intel.com> > Subject: [RFC v3, 1/3] cryptodev: set private data for session-less mode > > The application may want to store private data along with the > rte_crypto_op that is transparent to the rte_cryptodev layer. > For e.g., If an eventdev based application is submitting a crypto session-less > operation and wants to indicate event information required to construct a > new event that will be enqueued to eventdev after completion of the crypto > operation. This patch provides a mechanism for the application to associate > this information with the rte_crypto_op in session-less mode. > > Signed-off-by: Abhinandan Gujjar <abhinandan.guj...@intel.com> > Signed-off-by: Nikhil Rao <nikhil....@intel.com> > --- > Notes: > V3: > 1. Added separate patch for session-less private data > 2. Added more information on offset > V2: > 1. Removed enum rte_crypto_op_private_data_type > 2. Corrected formatting > > lib/librte_cryptodev/rte_crypto.h | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_cryptodev/rte_crypto.h > b/lib/librte_cryptodev/rte_crypto.h > index 95cf861..2540426 100644 > --- a/lib/librte_cryptodev/rte_crypto.h > +++ b/lib/librte_cryptodev/rte_crypto.h > @@ -84,8 +84,14 @@ struct rte_crypto_op { > */ > uint8_t sess_type; > /**< operation session type */ > + uint16_t private_data_offset; > + /**< Offset to indicate start of private data (if any). The offset > + * is counted from the start of the rte_crypto_op including IV.
I assume that if this offset is 0, it means that there is no private data? Also, I would reword the Doxygen comment a bit (here is my suggestion, which looks a bit long, but I hope it is descriptive). " Offset to indicate start of private data (if any). The offset is counted from the start of the rte_crypto_op structure. The private data may be used by the application to store information which should remain untouched in the library/driver. Note that an Initialization Vector (IV) for the operation may be placed at the end of the structure as well, so caution to avoid overwrites has to be taken." > + * The private data may be used by the application to store > + * information which should remain untouched in the library/driver > + */ > > - uint8_t reserved[5]; > + 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 > */ > -- > 1.9.1 Apart from the comments above, this overall looks good to me. I would say you could submit a v1 with some implementation. Could you also modify the Cryptodev section in the Programmer's Guide document, to reflect these changes? Thanks, Pablo