[v1] crypto/ipsec_mb: handle mp request register error

Message ID 20221102232503.67970-1-kai.ji@intel.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series [v1] crypto/ipsec_mb: handle mp request register error |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/github-robot: build success github build: passed

Commit Message

Ji, Kai Nov. 2, 2022, 11:25 p.m. UTC
  This patch fix the EXIST error handling when calling
rte_mp_action_register().

Signed-off-by: Kai Ji <kai.ji@intel.com>
---
 drivers/crypto/ipsec_mb/ipsec_mb_private.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
  

Comments

Brian Dooley Nov. 3, 2022, 9:20 a.m. UTC | #1
Hi Kai,

> -----Original Message-----
> From: Kai Ji <kai.ji@intel.com>
> Sent: Wednesday, November 2, 2022 11:25 PM
> To: dev@dpdk.org
> Cc: gakhil@marvell.com; Ji, Kai <kai.ji@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; Burakov, Anatoly
> <anatoly.burakov@intel.com>
> Subject: [dpdk-dev v1] crypto/ipsec_mb: handle mp request register error
> 
> This patch fix the EXIST error handling when calling rte_mp_action_register().
> 
> Signed-off-by: Kai Ji <kai.ji@intel.com>
> ---
>  drivers/crypto/ipsec_mb/ipsec_mb_private.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
<snip>

Tested-by: Brian Dooley <brian.dooley@intel.com>
  
Akhil Goyal Nov. 3, 2022, 12:02 p.m. UTC | #2
> Hi Kai,
> 
> > Subject: [dpdk-dev v1] crypto/ipsec_mb: handle mp request register error
> >
> > This patch fix the EXIST error handling when calling rte_mp_action_register().
> >
> > Signed-off-by: Kai Ji <kai.ji@intel.com>
> > ---
> >  drivers/crypto/ipsec_mb/ipsec_mb_private.c | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> Tested-by: Brian Dooley <brian.dooley@intel.com>
Applied to dpdk-next-crypto

Thanks.
  

Patch

diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.c b/drivers/crypto/ipsec_mb/ipsec_mb_private.c
index c5540ac8dc..50b789a29b 100644
--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.c
+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.c
@@ -5,6 +5,7 @@ 
 #include <bus_vdev_driver.h>
 #include <rte_common.h>
 #include <rte_cryptodev.h>
+#include <rte_errno.h>
 
 #include "ipsec_mb_private.h"
 
@@ -46,7 +47,6 @@  static int
 ipsec_mb_mp_request_register(void)
 {
 	RTE_ASSERT(rte_eal_process_type() == RTE_PROC_PRIMARY);
-	IPSEC_MB_LOG(INFO, "Starting register MP IPC request\n");
 	return rte_mp_action_register(IPSEC_MB_MP_MSG,
 				ipsec_mb_ipc_request);
 }
@@ -168,9 +168,16 @@  ipsec_mb_create(struct rte_vdev_device *vdev,
 	IPSEC_MB_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
 		     imb_get_version_str());
 
-	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
 		retval = ipsec_mb_mp_request_register();
+		if (retval && (rte_errno == EEXIST))
+			/* Safe to proceed, return 0 */
+			return 0;
 
+		if (retval)
+			IPSEC_MB_LOG(ERR,
+				"IPSec Multi-buffer register MP request failed.\n");
+	}
 	return retval;
 }