[dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode

Gujjar, Abhinandan S abhinandan.gujjar at intel.com
Tue Feb 13 17:10:20 CET 2018


Hi Pablo,

> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Tuesday, February 13, 2018 8:24 PM
> To: Gujjar, Abhinandan S <abhinandan.gujjar at intel.com>; Doherty, Declan
> <declan.doherty at intel.com>; akhil.goyal at nxp.com;
> Jerin.JacobKollanukkaran at cavium.com
> Cc: dev at dpdk.org; Vangati, Narender <narender.vangati at intel.com>; Rao,
> Nikhil <nikhil.rao at intel.com>
> Subject: RE: [RFC v3, 1/3] cryptodev: set private data for session-less mode
> 
> Hi,
> 
> > -----Original Message-----
> > From: Gujjar, Abhinandan S
> > Sent: Thursday, February 1, 2018 9:30 AM
> > To: Doherty, Declan <declan.doherty at intel.com>; akhil.goyal at nxp.com;
> > De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>;
> > Jerin.JacobKollanukkaran at cavium.com
> > Cc: dev at dpdk.org; Vangati, Narender <narender.vangati at intel.com>;
> > Gujjar, Abhinandan S <abhinandan.gujjar at intel.com>; Rao, Nikhil
> > <nikhil.rao at 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.gujjar at intel.com>
> > Signed-off-by: Nikhil Rao <nikhil.rao at 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?
Yes
> 
> 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.
Ok.
> Could you also modify the Cryptodev section in the Programmer's Guide
> document, to reflect these changes?
Sure.

Thanks
Abhinandan
> 
> Thanks,
> Pablo


More information about the dev mailing list