From c824f88347eac4250853b7801646fa83408ce453 Mon Sep 17 00:00:00 2001 From: Krzysztof Karas Date: Tue, 7 Feb 2023 09:48:33 +0100 Subject: [PATCH] autobuild: patch DPDK with "ipsec_mb: expect EENOTSUP in ipsec_mb_create()" Apply this patch, when building SPDK with external DPDK (versions 22.11.0+). Change-Id: I0a09dbe6b4ee9519d51a0b4cb881844b96d94779 Signed-off-by: Krzysztof Karas Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16702 Reviewed-by: Konrad Sztyber Reviewed-by: Tomasz Zawadzki Tested-by: SPDK CI Jenkins Reviewed-by: Kamil Godzwon --- test/common/autobuild_common.sh | 5 +++++ .../patches/dpdk/22.11+/dpdk_ipsec_mb.patch | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 test/common/config/pkgdep/patches/dpdk/22.11+/dpdk_ipsec_mb.patch diff --git a/test/common/autobuild_common.sh b/test/common/autobuild_common.sh index e6fcddf38..1b56ef00f 100755 --- a/test/common/autobuild_common.sh +++ b/test/common/autobuild_common.sh @@ -161,6 +161,11 @@ _build_native_dpdk() { patch -p1 < "$rootdir/test/common/config/pkgdep/patches/dpdk/20.11/dpdk_qat.patch" else patch -p1 < "$rootdir/test/common/config/pkgdep/patches/dpdk/21.11+/dpdk_qat.patch" + + # Commit https://review.spdk.io/gerrit/c/spdk/dpdk/+/16134 is required for DPDK 22.11+ + if ge $dpdk_ver 22.11.0; then + patch -p1 < "$rootdir/test/common/config/pkgdep/patches/dpdk/22.11+/dpdk_ipsec_mb.patch" + fi fi fi diff --git a/test/common/config/pkgdep/patches/dpdk/22.11+/dpdk_ipsec_mb.patch b/test/common/config/pkgdep/patches/dpdk/22.11+/dpdk_ipsec_mb.patch new file mode 100644 index 000000000..6ba39efaf --- /dev/null +++ b/test/common/config/pkgdep/patches/dpdk/22.11+/dpdk_ipsec_mb.patch @@ -0,0 +1,20 @@ +diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.c b/drivers/crypto/ipsec_mb/ipsec_mb_private.c +index 50b789a..9eebf9b 100644 +--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.c ++++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.c +@@ -170,13 +170,8 @@ + + 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"); ++ if (retval != 0 && rte_errno == ENOTSUP) ++ retval = 0; + } + return retval; + }