DPDK patches and discussions
 help / color / mirror / Atom feed
From: "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
To: "Power, Ciara" <ciara.power@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Zhang, Roy Fan" <roy.fan.zhang@intel.com>, "Ji, Kai" <kai.ji@intel.com>
Subject: RE: [PATCH 1/3] crypto/ipsec_mb: add GCM sgl support to aesni_mb
Date: Sun, 8 May 2022 14:39:35 +0000	[thread overview]
Message-ID: <DM8PR11MB55912E0EF9F18EAE376FDA0184C79@DM8PR11MB5591.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20220407103041.4037942-2-ciara.power@intel.com>

Hi Ciara,


> -----Original Message-----
> From: Power, Ciara <ciara.power@intel.com>
> Sent: Thursday, April 7, 2022 11:31 AM
> To: dev@dpdk.org
> Cc: Zhang, Roy Fan <roy.fan.zhang@intel.com>; Ji, Kai <kai.ji@intel.com>;
> Power, Ciara <ciara.power@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>
> Subject: [PATCH 1/3] crypto/ipsec_mb: add GCM sgl support to aesni_mb
> 
> Add SGL support for GCM algorithm through JOB API.
> 
> This change supports IN-PLACE SGL, OOP SGL IN and LB OUT, and OOP SGL IN
> and SGL OUT.
> 
> Feature flags are not added, as the PMD does not yet support SGL for all other
> algorithms.
> 
> Signed-off-by: Ciara Power <ciara.power@intel.com>
> ---
>  drivers/crypto/ipsec_mb/pmd_aesni_mb.c      | 144 +++++++++++++++++++-
>  drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h |   2 +
>  2 files changed, 142 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
> b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
> index afa0b6e3a4..09a0cc5ace 100644
> --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
> +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c

...

> @@ -1410,6 +1509,43 @@ set_mb_job_params(IMB_JOB *job, struct
> ipsec_mb_qp *qp,
>  	/* Set user data to be crypto operation data struct */
>  	job->user_data = op;
> 
> +	if (sgl && aead) {

I'd say you don't need to check for aead here, right?
The only way to reach this point is if cipher.mode is GCM or CHACHA_POLY,
which guarantees that aead = 1 always. Is this correct?
> +		base_job = *job;

I don't see sgl_state = IMB_SGL_INIT being set.
I think the code here is relying that this will be set to IMB_SGL_INIT by default,
but it is risky to assume that, so better to set it.

> +		job = IMB_SUBMIT_JOB(mb_mgr);
> +		total_len = op->sym->aead.data.length;
> +
> +		src_sgl.m = m_src;
> +		src_sgl.offset = m_offset;
> +

...

>--- a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h
> +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h
> @@ -946,6 +946,8 @@ struct aesni_mb_session {
>  	struct {
>  		/* * AAD data length */
>  		uint16_t aad_len;
> +
> +		struct gcm_context_data gcm_sgl_ctx;

I don't think it's necessary to have this context data in here,
you can declare it inside set_mb_job_params,
unless this causes a performance drop.

Thanks,
Pablo

>  	} aead;
>  } __rte_cache_aligned;
> 
> --
> 2.25.1


  reply	other threads:[~2022-05-08 14:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07 10:30 [PATCH 0/3] add partial SGL support to AESNI_MB Ciara Power
2022-04-07 10:30 ` [PATCH 1/3] crypto/ipsec_mb: add GCM sgl support to aesni_mb Ciara Power
2022-05-08 14:39   ` De Lara Guarch, Pablo [this message]
2022-05-11 12:35     ` Power, Ciara
2022-04-07 10:30 ` [PATCH 2/3] crypto/ipsec_mb: add chachapoly SGL " Ciara Power
2022-04-07 10:30 ` [PATCH 3/3] crypto/ipsec_mb: check SGL support for algorithm Ciara Power
2022-05-08 14:39   ` De Lara Guarch, Pablo
2022-05-02  9:48 ` [EXT] [PATCH 0/3] add partial SGL support to AESNI_MB Akhil Goyal
2022-05-05 14:47   ` De Lara Guarch, Pablo
2022-05-11 12:30 ` [PATCH v2 0/2] " Ciara Power
2022-05-11 12:30   ` [PATCH v2 1/2] crypto/ipsec_mb: add GCM SGL support to aesni-mb Ciara Power
2022-05-11 12:30   ` [PATCH v2 2/2] crypto/ipsec_mb: add chachapoly " Ciara Power
2022-05-11 15:44   ` [PATCH v2 0/2] add partial SGL support to AESNI_MB De Lara Guarch, Pablo
2022-05-26 16:13   ` [EXT] " Akhil Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM8PR11MB55912E0EF9F18EAE376FDA0184C79@DM8PR11MB5591.namprd11.prod.outlook.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=ciara.power@intel.com \
    --cc=dev@dpdk.org \
    --cc=kai.ji@intel.com \
    --cc=roy.fan.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).