From: "Dooley, Brian" <brian.dooley@intel.com>
To: "Ji, Kai" <kai.ji@intel.com>,
"De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>,
"Power, Ciara" <ciara.power@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"gakhil@marvell.com" <gakhil@marvell.com>,
"wathsala.vithanage@arm.com" <wathsala.vithanage@arm.com>,
"ruifeng.wang@arm.com" <ruifeng.wang@arm.com>,
"honnappa.nagarahalli@arm.com" <honnappa.nagarahalli@arm.com>,
"Jack.Bond-Preston@arm.com" <Jack.Bond-Preston@arm.com>
Subject: RE: [PATCH v4] crypto/ipsec_mb: unified IPsec MB interface
Date: Thu, 29 Feb 2024 16:23:46 +0000 [thread overview]
Message-ID: <SA2PR11MB505225AF3561ED9FC9361146835F2@SA2PR11MB5052.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20240228113301.934291-1-brian.dooley@intel.com>
Hi folks,
The introduction of a more unified IPsec MB library for DPDK is causing the snow3g tests to fail on ARM. Artifact here: https://lab.dpdk.org/results/dashboard/patchsets/29315/
PMDs using the direct API (KASUMI, CHACHA, ZUC, SNOW3G) will use the job API, from the AESNI MB PMD code.
We have come across a similar issue in the past that related to an offset issue as SNOW3G uses bits instead of bytes.
commit a501609ea6466ed8526c0dfadedee332a4d4a451
Author: Pablo de Lara pablo.de.lara.guarch@intel.com
Date: Wed Feb 23 16:01:16 2022 +0000
crypto/ipsec_mb: fix length and offset settings
KASUMI, SNOW3G and ZUC require lengths and offsets to
be set in bits or bytes depending on the algorithm.
There were some algorithms that were mixing these two,
so this commit is fixing this issue.
This bug only appeared recently when the ARM ipsec version was bumped to 1.4. It appears there could be a similar scenario happening now and this is a potential fix that needs to be made in the ARM IPsec-mb repo:
diff --git a/lib/aarch64/mb_mgr_snow3g_submit_flush_common_aarch64.h b/lib/aarch64/mb_mgr_snow3g_submit_flush_common_aarch64.h
index 13bca11b..de284ade 100644
--- a/lib/aarch64/mb_mgr_snow3g_submit_flush_common_aarch64.h
+++ b/lib/aarch64/mb_mgr_snow3g_submit_flush_common_aarch64.h
@@ -94,8 +94,8 @@ static void snow3g_mb_mgr_insert_uea2_job(MB_MGR_SNOW3G_OOO *state, IMB_JOB *job
state->num_lanes_inuse++;
state->args.iv[used_lane_idx] = job->iv;
state->args.keys[used_lane_idx] = job->enc_keys;
- state->args.in[used_lane_idx] = job->src + job->cipher_start_src_offset_in_bytes;
- state->args.out[used_lane_idx] = job->dst;
+ state->args.in[used_lane_idx] = job->src + (job->cipher_start_src_offset_in_bits / 8);
+ state->args.out[used_lane_idx] = job->dst + (job->cipher_start_src_offset_in_bits / 8);
state->args.byte_length[used_lane_idx] = job->msg_len_to_cipher_in_bits / 8;
state->args.INITIALIZED[used_lane_idx] = 0;
state->lens[used_lane_idx] = job->msg_len_to_cipher_in_bits / 8;
Thanks,
Brian
> -----Original Message-----
> From: Dooley, Brian <brian.dooley@intel.com>
> Sent: Wednesday, February 28, 2024 11:33 AM
> To: Ji, Kai <kai.ji@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>
> Cc: dev@dpdk.org; gakhil@marvell.com; Dooley, Brian
> <brian.dooley@intel.com>
> Subject: [PATCH v4] crypto/ipsec_mb: unified IPsec MB interface
>
> Currently IPsec MB provides both the JOB API and direct API.
> AESNI_MB PMD is using the JOB API codepath while ZUC, KASUMI, SNOW3G
> and CHACHA20_POLY1305 are using the direct API.
> Instead of using the direct API for these PMDs, they should now make
> use of the JOB API codepath. This would remove all use of the IPsec MB
> direct API for these PMDs.
>
> Signed-off-by: Brian Dooley <brian.dooley@intel.com>
> ---
> v2:
> - Fix compilation failure
> v3:
> - Remove session configure pointer for each PMD
> v4:
> - Keep AES GCM PMD and fix extern issue
> ---
> doc/guides/rel_notes/release_24_03.rst | 6 +
> drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 10 +-
> drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 15 +-
> drivers/crypto/ipsec_mb/pmd_chacha_poly.c | 338 +----------
> .../crypto/ipsec_mb/pmd_chacha_poly_priv.h | 28 -
> drivers/crypto/ipsec_mb/pmd_kasumi.c | 410 +------------
> drivers/crypto/ipsec_mb/pmd_kasumi_priv.h | 20 -
> drivers/crypto/ipsec_mb/pmd_snow3g.c | 543 +-----------------
> drivers/crypto/ipsec_mb/pmd_snow3g_priv.h | 21 -
> drivers/crypto/ipsec_mb/pmd_zuc.c | 347 +----------
> drivers/crypto/ipsec_mb/pmd_zuc_priv.h | 20 -
> 11 files changed, 48 insertions(+), 1710 deletions(-)
>
<snip>
next prev parent reply other threads:[~2024-02-29 16:23 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-12 15:36 [PATCH v1] " Brian Dooley
2023-12-14 15:15 ` [PATCH v2] " Brian Dooley
2024-01-18 12:00 ` [PATCH v3] " Brian Dooley
2024-02-28 11:33 ` [PATCH v4] " Brian Dooley
2024-02-28 11:50 ` Power, Ciara
2024-02-29 16:23 ` Dooley, Brian [this message]
2024-02-29 16:32 ` Akhil Goyal
2024-03-04 7:33 ` Akhil Goyal
2024-03-05 5:39 ` Honnappa Nagarahalli
2024-03-05 17:31 ` Wathsala Wathawana Vithanage
2024-03-05 15:21 ` Wathsala Wathawana Vithanage
2024-03-05 17:42 ` [PATCH v5 1/4] crypto/ipsec_mb: bump minimum IPsec Multi-buffer version Brian Dooley
2024-03-05 17:42 ` [PATCH v5 2/4] doc: remove outdated version details Brian Dooley
2024-03-05 17:42 ` [PATCH v5 3/4] crypto/ipsec_mb: use new ipad/opad calculation API Brian Dooley
2024-03-05 17:42 ` [PATCH v5 4/4] crypto/ipsec_mb: unified IPsec MB interface Brian Dooley
2024-03-15 18:25 ` Patrick Robb
2024-03-05 19:11 ` [EXTERNAL] [PATCH v5 1/4] crypto/ipsec_mb: bump minimum IPsec Multi-buffer version Akhil Goyal
2024-03-05 19:50 ` Patrick Robb
2024-03-05 23:30 ` Patrick Robb
2024-03-06 3:57 ` Patrick Robb
2024-03-06 11:12 ` Power, Ciara
2024-03-06 14:59 ` Patrick Robb
2024-03-06 15:29 ` Power, Ciara
2024-03-07 16:21 ` Wathsala Wathawana Vithanage
2024-03-08 16:05 ` Power, Ciara
2024-03-12 16:26 ` Wathsala Wathawana Vithanage
2024-03-15 18:24 ` Patrick Robb
2024-03-12 13:50 ` [PATCH v6 1/5] ci: replace IPsec-mb package install Brian Dooley
2024-03-12 13:50 ` [PATCH v6 2/5] crypto/ipsec_mb: bump minimum IPsec Multi-buffer version Brian Dooley
2024-03-12 13:50 ` [PATCH v6 3/5] doc: remove outdated version details Brian Dooley
2024-03-12 13:50 ` [PATCH v6 4/5] crypto/ipsec_mb: use new ipad/opad calculation API Brian Dooley
2024-03-12 13:50 ` [PATCH v6 5/5] crypto/ipsec_mb: unify some IPsec MB PMDs Brian Dooley
2024-03-12 13:54 ` [PATCH v6 1/5] ci: replace IPsec-mb package install David Marchand
2024-03-12 15:26 ` Power, Ciara
2024-03-12 16:13 ` David Marchand
2024-03-12 17:07 ` Power, Ciara
2024-03-12 16:05 ` David Marchand
2024-03-12 16:16 ` Jack Bond-Preston
2024-03-12 17:08 ` Power, Ciara
2024-03-12 18:04 ` Power, Ciara
2024-03-15 18:26 ` Patrick Robb
2024-03-14 10:37 ` [PATCH v7 1/2] doc: remove outdated version details Brian Dooley
2024-03-14 10:37 ` [PATCH v7 2/2] doc: announce Intel IPsec MB version bump Brian Dooley
2024-03-14 12:04 ` Power, Ciara
2024-03-22 19:33 ` [EXTERNAL] [PATCH v7 1/2] doc: remove outdated version details 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=SA2PR11MB505225AF3561ED9FC9361146835F2@SA2PR11MB5052.namprd11.prod.outlook.com \
--to=brian.dooley@intel.com \
--cc=Jack.Bond-Preston@arm.com \
--cc=ciara.power@intel.com \
--cc=dev@dpdk.org \
--cc=gakhil@marvell.com \
--cc=honnappa.nagarahalli@arm.com \
--cc=kai.ji@intel.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=ruifeng.wang@arm.com \
--cc=wathsala.vithanage@arm.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).