On Thu, Oct 05, 2017 at 03:01:33PM +0000, De Lara Guarch, Pablo wrote: > Hi Tomasz, > > > -----Original Message----- > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Tomasz Duszynski > > Sent: Thursday, September 28, 2017 11:23 AM > > To: dev@dpdk.org > > Cc: m...@semihalf.com; d...@marvell.com; nsams...@marvell.com; > > jianbo....@linaro.org; Tomasz Duszynski <t...@semihalf.com>; Jacek Siuda > > <j...@semihalf.com> > > Subject: [dpdk-dev] [PATCH v2 1/4] crypto/mrvl: add mrvl crypto pmd > > driver > > > > Add support for the Marvell Security Crypto Accelerator EIP197. > > Driver is based on external, publicly available, Marvell MUSDK > > library that provides access to the hardware with minimum overhead > > and high performance. > > > > Driver comes with support for the following features: > > > > * Symmetric crypto > > * Sym operation chaining > > * AES CBC (128) > > * AES CBC (192) > > * AES CBC (256) > > * AES CTR (128) > > * AES CTR (192) > > * AES CTR (256) > > * 3DES CBC > > * 3DES CTR > > * MD5 > > * MD5 HMAC > > * SHA1 > > * SHA1 HMAC > > * SHA256 > > * SHA256 HMAC > > * SHA384 > > * SHA384 HMAC > > * SHA512 > > * SHA512 HMAC > > * AES GCM (128) > > > > Driver was engineered cooperatively by Semihalf and Marvell teams. > > > > Semihalf: > > Jacek Siuda <j...@semihalf.com> > > Tomasz Duszynski <t...@semihalf.com> > > > > Marvell: > > Dmitri Epshtein <d...@marvell.com> > > Natalie Samsonov <nsams...@marvell.com> > > > > Signed-off-by: Jacek Siuda <j...@semihalf.com> > > Signed-off-by: Tomasz Duszynski <t...@semihalf.com> > > If the guys in Marvell has contributed with the code, > they should sign off too. Up to you. > > There is a script to test compilation (devtools/test-build.sh). > You should also modify it to include the dependency with LIBMUSDK. >
ACK > ... > > > diff --git a/drivers/crypto/mrvl/rte_mrvl_pmd.c > > b/drivers/crypto/mrvl/rte_mrvl_pmd.c > > new file mode 100644 > > index 0000000..63f8daa > > --- /dev/null > > +++ b/drivers/crypto/mrvl/rte_mrvl_pmd.c > > ... > > > + > > +/* Register the driver in constructor. */ > > +RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_MRVL_PMD, > > cryptodev_mrvl_pmd_drv); > > +RTE_PMD_REGISTER_ALIAS(CRYPTODEV_NAME_MRVL_PMD, > > cryptodev_mrvl_pmd); > > You can remove this alias, as this is a new PMD, > we should be using the primary convention "crypto_mrvl". > ACK > > > +RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_MRVL_PMD, > > + "max_nb_queue_pairs=<int> " > > + "max_nb_sessions=<int> " > > + "socket_id=<int>"); > > +RTE_PMD_REGISTER_CRYPTO_DRIVER(cryptodev_mrvl_pmd_drv, > > cryptodev_driver_id); > > diff --git a/drivers/crypto/mrvl/rte_mrvl_pmd_ops.c > > b/drivers/crypto/mrvl/rte_mrvl_pmd_ops.c > > new file mode 100644 > > index 0000000..f7374f8 > > --- /dev/null > > +++ b/drivers/crypto/mrvl/rte_mrvl_pmd_ops.c > > ... > > > + */ > > +static const struct rte_cryptodev_capabilities > > + mrvl_crypto_pmd_capabilities[] = { > > + { /* MD5 HMAC */ > > + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, > > + {.sym = { > > + .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, > > + {.auth = { > > + .algo = RTE_CRYPTO_AUTH_MD5_HMAC, > > + .block_size = 64, > > + .key_size = { > > + .min = 64, > > + .max = 64, > > + .increment = 0 > > + }, > > + .digest_size = { > > + .min = 16, > > + .max = 16, > > + .increment = 0 > > + }, > > + .aad_size = { 0 } > > You can remove this aad_size, as it is only applicable to AEAD algorithms > (GCM in your case). > ACK > > + }, } > > + }, } > > + }, > > ... > > > + { /* SHA1 HMAC */ > > + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, > > + {.sym = { > > + .xform_type = > > RTE_CRYPTO_SYM_XFORM_AUTH, > > + {.auth = { > > + .algo = > > RTE_CRYPTO_AUTH_SHA1_HMAC, > > + .block_size = 64, > > + .key_size = { > > + .min = 16, > > + .max = 128, > > + .increment = 0 > > If min and max values are different, increment cannot be 0. ACK Thanks for comments. -- - Tomasz DuszyĆski