DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Ji, Kai" <kai.ji@intel.com>
To: "Power, Ciara" <ciara.power@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
Subject: Re: [PATCH] drivers/ipsec_mb: fix aesni_mb set session ID
Date: Tue, 4 Jul 2023 22:30:01 +0000	[thread overview]
Message-ID: <SN6PR11MB340846B31B14DFE21E4FAEA7812EA@SN6PR11MB3408.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20230630083441.429989-1-ciara.power@intel.com>

[-- Attachment #1: Type: text/plain, Size: 2776 bytes --]

Acked-by: Kai Ji <kai.ji@intel.com<mailto:kai.ji@intel.com>>
________________________________
From: Power, Ciara <ciara.power@intel.com>
Sent: 30 June 2023 09:34
To: dev@dpdk.org <dev@dpdk.org>
Cc: Ji, Kai <kai.ji@intel.com>; Power, Ciara <ciara.power@intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
Subject: [PATCH] drivers/ipsec_mb: fix aesni_mb set session ID

In the case of multiprocess, when the same session is being used for both
primary and secondary processes, the session ID will be the same.
However the pointers are not available to the secondary process, so in this
case when the session was created by a different process ID, then copy
the template session to the job again.

Fixes: 0fb4834e00af ("crypto/ipsec_mb: set and use session ID")
Cc: pablo.de.lara.guarch@intel.com

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 drivers/crypto/ipsec_mb/pmd_aesni_mb.c      | 8 +++++++-
 drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
index f4322d9af4..555b59621d 100644
--- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
+++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
@@ -2,6 +2,8 @@
  * Copyright(c) 2015-2021 Intel Corporation
  */

+#include <unistd.h>
+
 #include "pmd_aesni_mb_priv.h"

 struct aesni_mb_op_buf_data {
@@ -847,6 +849,7 @@ aesni_mb_session_configure(IMB_MGR *mb_mgr,

 #if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
         sess->session_id = imb_set_session(mb_mgr, &sess->template_job);
+       sess->pid = getpid();
 #endif

         return 0;
@@ -1482,7 +1485,10 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *qp,
                         session->template_job.cipher_mode;

 #if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
-       if (job->session_id != session->session_id)
+       if (session->pid != getpid()) {
+               memcpy(job, &session->template_job, sizeof(IMB_JOB));
+               imb_set_session(mb_mgr, job);
+       } else if (job->session_id != session->session_id)
 #endif
                 memcpy(job, &session->template_job, sizeof(IMB_JOB));

diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h b/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h
index 4ffbe4b282..3f6cf30c39 100644
--- a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h
+++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h
@@ -854,6 +854,8 @@ struct aesni_mb_session {
         /*< Template job structure */
         uint32_t session_id;
         /*< IPSec MB session ID */
+       pid_t pid;
+       /*< Process ID that created session */
         struct {
                 uint16_t offset;
         } iv;
--
2.25.1


[-- Attachment #2: Type: text/html, Size: 4968 bytes --]

  reply	other threads:[~2023-07-04 22:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-30  8:34 Ciara Power
2023-07-04 22:30 ` Ji, Kai [this message]
2023-07-05  7:32 ` De Lara Guarch, Pablo
2023-07-05 13:29   ` 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=SN6PR11MB340846B31B14DFE21E4FAEA7812EA@SN6PR11MB3408.namprd11.prod.outlook.com \
    --to=kai.ji@intel.com \
    --cc=ciara.power@intel.com \
    --cc=dev@dpdk.org \
    --cc=pablo.de.lara.guarch@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).