[v1] crypto/ipsec_mb: handle mp request register error
Checks
Commit Message
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
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>
> 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.
@@ -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;
}