> -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Declan Doherty > Sent: Saturday, January 30, 2016 1:07 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] cryptodev: API change to rte_crypto_op bursts > > This patch modifies the crypto burst enqueue/dequeue APIs to operate on bursts > rte_crypto_op's rather than the current implementation which operates on > rte_mbuf bursts which simplifies the burst processing in the crypto PMDs and > the > use of crypto operations in general. > > The changes also separates the symmetric operation parameters from the more > general operation parameters, this will simplify the integration of > asymmetric crypto operations in the future. > > As well as the changes to the crypto APIs this patch adds function for > managing > rte_crypto_op pools to the cryptodev API. It modifies the existing PMDs, unit > tests and sample application to work with the modified APIs and finally > removes the now unused rte_mbuf_offload library. > > Signed-off-by: Declan Doherty <declan.doherty at intel.com> > ---
//snip// > + > +/** > + * Reset the fields of a symmetric operation to their default values. > * > * @param op The crypto operation to be reset. > */ > static inline void > -__rte_crypto_op_reset(struct rte_crypto_op *op) > +__rte_crypto_sym_op_reset(struct rte_crypto_sym_op *op) > { > op->type = RTE_CRYPTO_OP_SESSIONLESS; Maybe rename the type param in struct rte_crypto_sym_op to session_type and op param in this fn to sym_op? To avoid confusion with op->type in function below. > - op->dst.m = NULL; > - op->dst.offset = 0; > + > + op->m_src = NULL; > + op->m_dst = NULL; > +} > + > +/** > + * Reset the fields of a crypto operation to their default values. > + * > + * @param op The crypto operation to be reset. > + * @param type The crypto operation type. > + */ > +static inline void > +__rte_crypto_op_reset(struct rte_crypto_op *op, enum rte_crypto_op_type > type) > +{ > + op->status = RTE_CRYPTO_OP_STATUS_NOT_SUBMITTED; > + > + if (type == RTE_CRYPTO_OP_TYPE_SYMMETRIC) { > + op->type = type; > + __rte_crypto_sym_op_reset(&op->sym); > + } > } >