Hi Marcin,

> -----Original Message-----
> From: dev <[email protected]> On Behalf Of Marcin Smoczynski
> Sent: Wednesday, January 15, 2020 6:28 PM
> To: [email protected]; Ananyev, Konstantin
> <[email protected]>; Zhang, Roy Fan <[email protected]>;
> Doherty, Declan <[email protected]>; Nicolau, Radu
> <[email protected]>
> Cc: [email protected]; Smoczynski, MarcinX <[email protected]>
> Subject: [dpdk-dev] [PATCH v3 2/6] crypto/aesni_gcm: cpu crypto support
> 
> Add support for CPU crypto mode by introducing required handler.
> Crypto mode (sync/async) is chosen during sym session create if an appropriate
> flag is set in an xform type number.
> 
> Authenticated encryption and decryption are supported with tag
> generation/verification.
> 
> Signed-off-by: Marcin Smoczynski <[email protected]>
> ---
>  drivers/crypto/aesni_gcm/aesni_gcm_ops.h      |   9 ++
>  drivers/crypto/aesni_gcm/aesni_gcm_pmd.c      | 149 +++++++++++++++++-
>  drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c  |   3 +
>  .../crypto/aesni_gcm/aesni_gcm_pmd_private.h  |  18 ++-
>  4 files changed, 169 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_ops.h
> b/drivers/crypto/aesni_gcm/aesni_gcm_ops.h
> index e272f1067..404c0adff 100644

...

> --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
> +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
> @@ -25,9 +25,16 @@ aesni_gcm_set_session_parameters(const struct
> aesni_gcm_ops *gcm_ops,
>       const struct rte_crypto_sym_xform *aead_xform;
>       uint8_t key_length;
>       const uint8_t *key;
> +     uint32_t xform_type;
> +
> +     /* check for CPU-crypto mode */
> +     xform_type = xform->type;
> +     sess->mode = xform_type | RTE_CRYPTO_SYM_CPU_CRYPTO ?
> +             AESNI_GCM_MODE_SYNC : AESNI_GCM_MODE_ASYNC;
> +     xform_type &= RTE_CRYPTO_SYM_XFORM_TYPE_MASK;
> 
>       /* AES-GMAC */
> -     if (xform->type == RTE_CRYPTO_SYM_XFORM_AUTH) {
> +     if (xform_type == RTE_CRYPTO_SYM_XFORM_AUTH) {
>               auth_xform = xform;
>               if (auth_xform->auth.algo != RTE_CRYPTO_AUTH_AES_GMAC) {

Could you add support for AES-GMAC, so all algorithms supported by this PMD 
support this new API?

>                       AESNI_GCM_LOG(ERR, "Only AES GMAC is supported as
> an "
> @@ -49,7 +56,7 @@ aesni_gcm_set_session_parameters(const struct
> aesni_gcm_ops *gcm_ops,
>               sess->req_digest_length = auth_xform->auth.digest_length;

...

> --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
> +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
> @@ -331,9 +331,12 @@ struct rte_cryptodev_ops aesni_gcm_pmd_ops = {
>               .queue_pair_release     = aesni_gcm_pmd_qp_release,
>               .queue_pair_count       = aesni_gcm_pmd_qp_count,
> 
> +             .sym_cpu_process        = aesni_gcm_pmd_cpu_crypto_process,
> +
>               .sym_session_get_size   =
> aesni_gcm_pmd_sym_session_get_size,
>               .sym_session_configure  =
> aesni_gcm_pmd_sym_session_configure,
>               .sym_session_clear      = aesni_gcm_pmd_sym_session_clear
>  };
> 
>  struct rte_cryptodev_ops *rte_aesni_gcm_pmd_ops = &aesni_gcm_pmd_ops;
> +

Remove this extra line.

Thanks!
Pablo

Reply via email to