Hi Akhil, > -----Original Message----- > From: Akhil Goyal [mailto:akhil.go...@nxp.com] > Sent: Thursday, June 14, 2018 8:39 PM > To: Fan Zhang <roy.fan.zh...@intel.com>; dev@dpdk.org > Cc: pablo.de.lara.gua...@intel.com; Zhoujian (jay) <jianjay.z...@huawei.com>; > sta...@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] crypto/virtio: fix iv physical address > > On 6/14/2018 4:32 PM, Fan Zhang wrote: > > The physical address of IV required by Virtio was computed using > > crypto operations' physical address plus the offset. However not all > > crypto ops will have physical address field initialized and compute it > > runtimely is costly. This patch fixes this problem by adding iv field > > in virtio_crypto_op_cookie and does a memcpy of iv instead. > > > > Fixes: 82adb12a1fce ("crypto/virtio: support burst enqueue/dequeue") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Fan Zhang <roy.fan.zh...@intel.com> > > --- > > drivers/crypto/virtio/virtio_cryptodev.c | 6 ++++++ > > drivers/crypto/virtio/virtio_cryptodev.h | 3 +++ > > drivers/crypto/virtio/virtio_rxtx.c | 8 +++++++- > > 3 files changed, 16 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/crypto/virtio/virtio_cryptodev.c > > b/drivers/crypto/virtio/virtio_cryptodev.c > > index df88953f6..6ffa7619c 100644 > > --- a/drivers/crypto/virtio/virtio_cryptodev.c > > +++ b/drivers/crypto/virtio/virtio_cryptodev.c > > @@ -1223,6 +1223,12 @@ virtio_crypto_sym_pad_op_ctrl_req( > > /* Get cipher xform from crypto xform chain */ > > cipher_xform = virtio_crypto_get_cipher_xform(xform); > > if (cipher_xform) { > > + if (cipher_xform->iv.length > VIRTIO_CRYPTO_MAX_IV_SIZE) { > > + VIRTIO_CRYPTO_SESSION_LOG_ERR( > > + "cipher IV cannot longer than %u", > > + VIRTIO_CRYPTO_MAX_IV_SIZE); > > + return -1; > > + } > > if (is_chainned) > > ret = virtio_crypto_sym_pad_cipher_param( > > &ctrl->u.sym_create_session.u.chain.para > > diff --git a/drivers/crypto/virtio/virtio_cryptodev.h > > b/drivers/crypto/virtio/virtio_cryptodev.h > > index e402c0309..676e008d9 100644 > > --- a/drivers/crypto/virtio/virtio_cryptodev.h > > +++ b/drivers/crypto/virtio/virtio_cryptodev.h > > @@ -16,6 +16,8 @@ > > > > #define NUM_ENTRY_VIRTIO_CRYPTO_OP 7 > > > > +#define VIRTIO_CRYPTO_MAX_IV_SIZE 32 > > + > > max iv size supported in capability is 16 and here it is 32.
Yes, I agree. We could use 16 for now. Regards, Jay >