* [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode @ 2018-02-01 9:30 Abhinandan Gujjar 2018-02-13 9:22 ` Gujjar, Abhinandan S 2018-02-13 14:53 ` De Lara Guarch, Pablo 0 siblings, 2 replies; 4+ messages in thread From: Abhinandan Gujjar @ 2018-02-01 9:30 UTC (permalink / raw) To: declan.doherty, akhil.goyal, pablo.de.lara.guarch, Jerin.JacobKollanukkaran Cc: dev, narender.vangati, Abhinandan Gujjar, Nikhil Rao 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@intel.com> Signed-off-by: Nikhil Rao <nikhil.rao@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. + * 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode 2018-02-01 9:30 [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode Abhinandan Gujjar @ 2018-02-13 9:22 ` Gujjar, Abhinandan S 2018-02-13 14:53 ` De Lara Guarch, Pablo 1 sibling, 0 replies; 4+ messages in thread From: Gujjar, Abhinandan S @ 2018-02-13 9:22 UTC (permalink / raw) To: Doherty, Declan, akhil.goyal, De Lara Guarch, Pablo, Jerin.JacobKollanukkaran Cc: dev, Vangati, Narender, Rao, Nikhil A gentle remainder for review :) -Abhinandan > -----Original Message----- > From: Gujjar, Abhinandan S > Sent: Thursday, February 1, 2018 3:00 PM > To: Doherty, Declan <declan.doherty@intel.com>; akhil.goyal@nxp.com; De > Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; > Jerin.JacobKollanukkaran@cavium.com > Cc: dev@dpdk.org; Vangati, Narender <narender.vangati@intel.com>; Gujjar, > Abhinandan S <abhinandan.gujjar@intel.com>; Rao, Nikhil > <nikhil.rao@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@intel.com> > Signed-off-by: Nikhil Rao <nikhil.rao@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. > + * 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode 2018-02-01 9:30 [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode Abhinandan Gujjar 2018-02-13 9:22 ` Gujjar, Abhinandan S @ 2018-02-13 14:53 ` De Lara Guarch, Pablo 2018-02-13 16:10 ` Gujjar, Abhinandan S 1 sibling, 1 reply; 4+ messages in thread From: De Lara Guarch, Pablo @ 2018-02-13 14:53 UTC (permalink / raw) To: Gujjar, Abhinandan S, Doherty, Declan, akhil.goyal, Jerin.JacobKollanukkaran Cc: dev, Vangati, Narender, Rao, Nikhil Hi, > -----Original Message----- > From: Gujjar, Abhinandan S > Sent: Thursday, February 1, 2018 9:30 AM > To: Doherty, Declan <declan.doherty@intel.com>; akhil.goyal@nxp.com; De > Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; > Jerin.JacobKollanukkaran@cavium.com > Cc: dev@dpdk.org; Vangati, Narender <narender.vangati@intel.com>; > Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>; Rao, Nikhil > <nikhil.rao@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@intel.com> > Signed-off-by: Nikhil Rao <nikhil.rao@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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode 2018-02-13 14:53 ` De Lara Guarch, Pablo @ 2018-02-13 16:10 ` Gujjar, Abhinandan S 0 siblings, 0 replies; 4+ messages in thread From: Gujjar, Abhinandan S @ 2018-02-13 16:10 UTC (permalink / raw) To: De Lara Guarch, Pablo, Doherty, Declan, akhil.goyal, Jerin.JacobKollanukkaran Cc: dev, Vangati, Narender, Rao, Nikhil Hi Pablo, > -----Original Message----- > From: De Lara Guarch, Pablo > Sent: Tuesday, February 13, 2018 8:24 PM > To: Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>; Doherty, Declan > <declan.doherty@intel.com>; akhil.goyal@nxp.com; > Jerin.JacobKollanukkaran@cavium.com > Cc: dev@dpdk.org; Vangati, Narender <narender.vangati@intel.com>; Rao, > Nikhil <nikhil.rao@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@intel.com>; akhil.goyal@nxp.com; > > De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; > > Jerin.JacobKollanukkaran@cavium.com > > Cc: dev@dpdk.org; Vangati, Narender <narender.vangati@intel.com>; > > Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>; Rao, Nikhil > > <nikhil.rao@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@intel.com> > > Signed-off-by: Nikhil Rao <nikhil.rao@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 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-02-13 16:10 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-01 9:30 [dpdk-dev] [RFC v3, 1/3] cryptodev: set private data for session-less mode Abhinandan Gujjar 2018-02-13 9:22 ` Gujjar, Abhinandan S 2018-02-13 14:53 ` De Lara Guarch, Pablo 2018-02-13 16:10 ` Gujjar, Abhinandan S
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).