<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);">
Acked-by: Kai Ji <kai.ji@intel.com></div>
<div class="elementToProof" style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof"><span style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);">Please aware the IPSEC
</span><span style="font-family: "IntelOne Text"; font-size: 11pt; color: rgb(0, 0, 0);">SNOW3G and ZUC PMDs currently remained in DPDK will only be built for the ARM version:
</span><span style="font-family: Aptos, sans-serif; font-size: 14.6667px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><a href="https://patches.dpdk.org/project/dpdk/list/?series=38319" id="OWA0f42c09e-b027-7009-7799-f5578d934de6" class="OWAAutoLink" title="https://patches.dpdk.org/project/dpdk/list/?series=38319" data-auth="NotApplicable" data-linkindex="0" data-ogsc="" style="margin: 0px; background-color: rgb(255, 255, 255); text-align: left;">https://patches.dpdk.org/project/dpdk/list/?series=38319</a></span></div>
<div class="elementToProof" style="font-family: Aptos, sans-serif; font-size: 14.6667px; color: rgb(0, 0, 0);">
<span style="background-color: rgb(255, 255, 255);">The  AESNI_MB PMD is recommended for IPSEC-MB lib </span></div>
<div><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>From:</b> Akhil Goyal <gakhil@marvell.com><br>
<b>Sent:</b> Tuesday, March 10, 2026 14:05<br>
<b>To:</b> Akhil Goyal <gakhil@marvell.com>; Ji, Kai <kai.ji@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com><br>
<b>Cc:</b> dev@dpdk.org <dev@dpdk.org>; weid wei.dai@picocom.com <wei.dai@picocom.com><br>
<b>Subject:</b> RE: [EXTERNAL] [PATCH] crypto/ipsec_mb: fix clearing snow3g digest
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-size: 11pt;">> Hi Pablo/Kai,<br>
> Please ack if no objection<br>
><br>
Reminder for ack.<br>
 <br>
><br>
> > From: weid <wei.dai@picocom.com><br>
> ><br>
> > Before this patch, the software crypto_snow3g<br>
> > clear the encrypted auth snow3g digest when<br>
> > the dst mbuf is same as the src mbuf in crypto<br>
> > op.<br>
> ><br>
> > This bug can be checked by following way,<br>
> > start app/dpdk-test --vdev=crypto_snow3g,<br>
> > run pdcp_autotest<br>
> > the case failed when i=42 in<br>
> > run_test_for_one_known_vec() in test_pdcp.c.<br>
> > The case is PDCP control plane auth snow3g gen<br>
> > + cipher snow3g enc.<br>
> > The case failed because the last 4 bytes are<br>
> > cleared in last for() loop in line 167 in<br>
> > process_snow3g_cipher_op() in pmd_snow3g.c .<br>
> ><br>
> > Fixes: 5208d68d30cb ("crypto/ipsec_mb: support snow3g digest appended<br>
> ops")<br>
> ><br>
> > Signed-off-by: weid <wei.dai@picocom.com><br>
> > ---<br>
> >  drivers/crypto/ipsec_mb/pmd_snow3g.c | 3 ++-<br>
> >  1 file changed, 2 insertions(+), 1 deletion(-)<br>
> ><br>
> > diff --git a/drivers/crypto/ipsec_mb/pmd_snow3g.c<br>
> > b/drivers/crypto/ipsec_mb/pmd_snow3g.c<br>
> > index b3c3b05a8a..35fe23c157 100644<br>
> > --- a/drivers/crypto/ipsec_mb/pmd_snow3g.c<br>
> > +++ b/drivers/crypto/ipsec_mb/pmd_snow3g.c<br>
> > @@ -157,7 +157,8 @@ process_snow3g_cipher_op(struct ipsec_mb_qp *qp,<br>
> > struct rte_crypto_op **ops,<br>
> >      for (i = 0; i < num_ops; i++) {<br>
> >              if ((session->op ==<br>
> > IPSEC_MB_OP_HASH_VERIFY_THEN_DECRYPT ||<br>
> >                      session->op ==<br>
> > IPSEC_MB_OP_HASH_GEN_THEN_ENCRYPT) &&<br>
> > -                           ops[i]->sym->m_dst != NULL) {<br>
> > +                           ops[i]->sym->m_dst != NULL &&<br>
> > +                           ops[i]->sym->m_dst != ops[i]->sym->m_src) {<br>
> >                      digest_appended[i] =<br>
> >                              snow3g_digest_appended_in_src(ops[i]);<br>
> >                      /* Clear unencrypted digest from<br>
> > --<br>
> > 2.51.0.windows.1<br>
</div>
</body>
</html>