[dpdk-dev] [PATCH v3 3/7] cryptodev/virtio: core code of crypto devices

Zhoujian (jay) jianjay.zhou at huawei.com
Fri Mar 30 05:02:51 CEST 2018



> -----Original Message-----
> From: De Lara Guarch, Pablo [mailto:pablo.de.lara.guarch at intel.com]
> Sent: Friday, March 30, 2018 6:28 AM
> To: Zhoujian (jay) <jianjay.zhou at huawei.com>; dev at dpdk.org
> Cc: Zhang, Roy Fan <roy.fan.zhang at intel.com>; thomas at monjalon.net; Gonglei
> (Arei) <arei.gonglei at huawei.com>; Zeng, Xin <xin.zeng at intel.com>;
> Huangweidong (C) <weidong.huang at huawei.com>; wangxin (U)
> <wangxinxin.wang at huawei.com>; longpeng <longpeng2 at huawei.com>
> Subject: RE: [PATCH v3 3/7] cryptodev/virtio: core code of crypto devices
> 
> 
> 
> > -----Original Message-----
> > From: Jay Zhou [mailto:jianjay.zhou at huawei.com]
> > Sent: Sunday, March 25, 2018 9:34 AM
> > To: dev at dpdk.org
> > Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Zhang, Roy
> > Fan <roy.fan.zhang at intel.com>; thomas at monjalon.net;
> > arei.gonglei at huawei.com; Zeng, Xin <xin.zeng at intel.com>;
> > weidong.huang at huawei.com; wangxinxin.wang at huawei.com;
> > longpeng2 at huawei.com; jianjay.zhou at huawei.com
> > Subject: [PATCH v3 3/7] cryptodev/virtio: core code of crypto devices
> 
> Use crypto/virtio: ...

Okay.

> 
> 
> >
> > The idea comes from QAT and virtio-net devices.
> 
> Could you elaborate a bit more here? Which idea?
> Probably better to describe the patch and not compare with other devices.

I'll describe the patch in more details, and it will help to review the code
I think.

> 
> >
> > Signed-off-by: Jay Zhou <jianjay.zhou at huawei.com>
> > ---
> >  drivers/crypto/virtio/virtio_crypto_capabilities.h |   51 +
> >  drivers/crypto/virtio/virtio_cryptodev.c           | 1553
> > ++++++++++++++++++++
> >  drivers/crypto/virtio/virtio_cryptodev.h           |   66 +
> >  drivers/crypto/virtio/virtio_rxtx.c                |  540 +++++++
> >  4 files changed, 2210 insertions(+)
> >  create mode 100644 drivers/crypto/virtio/virtio_crypto_capabilities.h
> >  create mode 100644 drivers/crypto/virtio/virtio_cryptodev.c
> >  create mode 100644 drivers/crypto/virtio/virtio_cryptodev.h
> >  create mode 100644 drivers/crypto/virtio/virtio_rxtx.c
> 
> ...
> 
> > index 0000000..8affbef
> > --- /dev/null
> > +++ b/drivers/crypto/virtio/virtio_cryptodev.c
> 
> ...
> 
> +
> > +static int virtio_crypto_sym_pad_cipher_param(
> > +		struct virtio_crypto_cipher_session_para *para,
> > +		struct rte_crypto_cipher_xform *cipher_xform) {
> > +	switch (cipher_xform->algo) {
> > +	case RTE_CRYPTO_CIPHER_NULL:
> > +		para->algo = VIRTIO_CRYPTO_NO_CIPHER;
> > +		break;
> > +	case RTE_CRYPTO_CIPHER_3DES_CBC:
> > +		para->algo = VIRTIO_CRYPTO_CIPHER_3DES_CBC;
> > +		break;
> 
> Do you support these algorithms? From capabilities, it looks like you only
> support AES-CBC and SHA1, but from the cover letter, you say that those are
> the ones that you have tested, which means that this PMD actually supports
> more?

Yes, this PMD actually supports more. But for now, it is limited by the
virtio-crypto vhost-crypto backend which only supports AES-CBC and SHA1,
so only AES-CBC and SHA1 can be tested, others are not guaranteed.
I think it's better to remove other cases and algorithms, we can add them
once the virtio-crypto vhost-user backend supports them.
What do you think?

> 
> 
> > +	case RTE_CRYPTO_CIPHER_3DES_CTR:
> > +		para->algo = VIRTIO_CRYPTO_CIPHER_3DES_CTR;
> > +		break;
> 
> ...
> 
> > +RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_VIRTIO_PMD,
> > rte_virtio_crypto_driver);
> > +RTE_PMD_REGISTER_CRYPTO_DRIVER(virtio_crypto_drv,
> > rte_virtio_crypto_driver,
> > +		cryptodev_virtio_driver_id);
> 
> RTE_PMD_REGISTER_CRYPTO_DRIVER has changed. Could you rebase against dpdk-
> next-crypto?
> You need to pass rte_virtio_crypto_driver.driver as a second parameter.
> 

Will do.



Regards,
Jay


More information about the dev mailing list