[PATCH 2/2] crypto/ipsec_mb: remove ZUC and SNOW 3G drivers from x86 build
Radu Nicolau
radu.nicolau at intel.com
Wed Jun 3 11:27:35 CEST 2026
The ZUC and SNOW 3G crypto drivers are using APIs that are now
deprecated in the Intel IPsec Multi-Buffer library.
Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
---
doc/guides/cryptodevs/aesni_mb.rst | 2 +-
doc/guides/cryptodevs/snow3g.rst | 15 ++++-----------
doc/guides/cryptodevs/zuc.rst | 13 +++----------
doc/guides/rel_notes/release_26_07.rst | 5 +++++
drivers/crypto/ipsec_mb/ipsec_mb_private.h | 6 ++++++
drivers/crypto/ipsec_mb/meson.build | 9 +++++++--
6 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst
index 9d886657f2..5efbadb8d1 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -82,7 +82,7 @@ Limitations
DOCSIS security protocol.
AESNI MB PMD selection over SNOW3G/ZUC PMDs
---------------------------------------------------
+-------------------------------------------
This PMD supports wireless cipher suite (SNOW3G and ZUC).
On Intel processors, it is recommended to use this PMD
diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst
index 0fe914ffd3..d7f494a963 100644
--- a/doc/guides/cryptodevs/snow3g.rst
+++ b/doc/guides/cryptodevs/snow3g.rst
@@ -5,8 +5,8 @@ SNOW 3G Crypto Poll Mode Driver
===============================
The SNOW3G PMD (**librte_crypto_snow3g**) provides poll mode crypto driver support for
-utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
-which implements F8 and F8 functions for SNOW 3G UEA2 cipher and UIA2 hash algorithms.
+utilizing the ARM64 port of `Intel IPSec Multi-buffer library <https://gitlab.arm.com/arm-reference-solutions/ipsec-mb>`_
+which implements F8 and F9 functions for SNOW 3G UEA2 cipher and UIA2 hash algorithms.
Features
--------
@@ -36,9 +36,7 @@ Limitations
SNOW3G PMD vs AESNI MB PMD
--------------------------
-AESNI MB PMD also supports SNOW3G cipher and authentication algorithms.
-It is recommended to use the AESNI MB PMD,
-which offers better performance on Intel processors.
+On Intel processors this PMD is no longer supported, please use the AESNI MB PMD.
Take a look at the PMD documentation (:doc:`aesni_mb`) for more information.
Installation
@@ -47,12 +45,7 @@ Installation
To build DPDK with the SNOW3G_PMD the user is required to download the multi-buffer
library and compile it on their user system before building DPDK.
-For x86 system, the multi-buffer library is available
-`here <https://github.com/01org/intel-ipsec-mb>`_.
-The latest version of the library supported by this PMD is v1.5, which
-can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v1.5.zip>`_.
-
-For Arm system, ARM64 port of the multi-buffer library can be downloaded from
+The ARM64 port of the multi-buffer library can be downloaded from
`<https://gitlab.arm.com/arm-reference-solutions/ipsec-mb/-/tree/main/>`_. The
latest version of the library supported by this PMD is tagged as SECLIB-IPSEC-2024.07.08.
diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst
index 7c6b83e7eb..e4c86814f1 100644
--- a/doc/guides/cryptodevs/zuc.rst
+++ b/doc/guides/cryptodevs/zuc.rst
@@ -5,7 +5,7 @@ ZUC Crypto Poll Mode Driver
===========================
The ZUC PMD (**librte_crypto_zuc**) provides poll mode crypto driver support for
-utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
+utilizing the ARM64 port of `Intel IPSec Multi-buffer library <https://gitlab.arm.com/arm-reference-solutions/ipsec-mb>`_
which implements F8 and F9 functions for ZUC EEA3 cipher and EIA3 hash algorithms.
Features
@@ -35,9 +35,7 @@ Limitations
ZUC PMD vs AESNI MB PMD
-----------------------
-AESNI MB PMD also supports ZUC cipher and authentication algorithms.
-It is recommended to use the AESNI MB PMD,
-which offers better performance on Intel processors.
+On Intel processors this PMD is no longer supported, please use the AESNI MB PMD.
Take a look at the PMD documentation (:doc:`aesni_mb`) for more information.
Installation
@@ -46,12 +44,7 @@ Installation
To build DPDK with the ZUC_PMD the user is required to download the multi-buffer
library and compile it on their user system before building DPDK.
-For x86 system, the multi-buffer library is available
-`here <https://github.com/01org/intel-ipsec-mb>`_.
-The latest version of the library supported by this PMD is v1.5, which
-can be downloaded from `<https://github.com/01org/intel-ipsec-mb/archive/v1.5.zip>`_.
-
-For Arm system, ARM64 port of the multi-buffer library can be downloaded from
+The ARM64 port of the multi-buffer library can be downloaded from
`<https://gitlab.arm.com/arm-reference-solutions/ipsec-mb/-/tree/main/>`_. The
latest version of the library supported by this PMD is tagged as SECLIB-IPSEC-2024.07.08.
diff --git a/doc/guides/rel_notes/release_26_07.rst b/doc/guides/rel_notes/release_26_07.rst
index 64c8b038d1..388642851a 100644
--- a/doc/guides/rel_notes/release_26_07.rst
+++ b/doc/guides/rel_notes/release_26_07.rst
@@ -123,6 +123,11 @@ Removed Items
* The Chacha20-poly1305 and KASUMI drivers were just wrappers around
the main AESNI_MB driver.
+* **Removed ZUC and SNOW 3G crypto drivers from the x86 release.**
+
+ * The ZUC and SNOW 3G crypto drivers are using APIs that are now
+ deprecated in the Intel IPsec Multi-Buffer library.
+
API Changes
-----------
diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h b/drivers/crypto/ipsec_mb/ipsec_mb_private.h
index 9712bf5b4c..fc7d6f5f06 100644
--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h
+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h
@@ -45,11 +45,13 @@ extern RTE_DEFINE_PER_LCORE(IMB_MGR *, mb_mgr);
#define CRYPTODEV_NAME_AESNI_GCM_PMD crypto_aesni_gcm
/**< IPSEC Multi buffer PMD aesni_gcm device name */
+#if defined(RTE_ARCH_ARM)
#define CRYPTODEV_NAME_SNOW3G_PMD crypto_snow3g
/**< IPSEC Multi buffer PMD snow3g device name */
#define CRYPTODEV_NAME_ZUC_PMD crypto_zuc
/**< IPSEC Multi buffer PMD zuc device name */
+#endif
/** PMD LOGTYPE DRIVER, common to all PMDs */
extern int ipsec_mb_logtype_driver;
@@ -62,8 +64,10 @@ extern int ipsec_mb_logtype_driver;
enum ipsec_mb_pmd_types {
IPSEC_MB_PMD_TYPE_AESNI_MB = 0,
IPSEC_MB_PMD_TYPE_AESNI_GCM,
+#if defined(RTE_ARCH_ARM)
IPSEC_MB_PMD_TYPE_SNOW3G,
IPSEC_MB_PMD_TYPE_ZUC,
+#endif
IPSEC_MB_N_PMD_TYPES
};
@@ -96,10 +100,12 @@ ipsec_mb_get_driver_id(enum ipsec_mb_pmd_types pmd_type)
return pmd_driver_id_aesni_mb;
case IPSEC_MB_PMD_TYPE_AESNI_GCM:
return pmd_driver_id_aesni_gcm;
+#if defined(RTE_ARCH_ARM)
case IPSEC_MB_PMD_TYPE_SNOW3G:
return pmd_driver_id_snow3g;
case IPSEC_MB_PMD_TYPE_ZUC:
return pmd_driver_id_zuc;
+#endif
default:
break;
}
diff --git a/drivers/crypto/ipsec_mb/meson.build b/drivers/crypto/ipsec_mb/meson.build
index 6c5e4e2259..eb2085725b 100644
--- a/drivers/crypto/ipsec_mb/meson.build
+++ b/drivers/crypto/ipsec_mb/meson.build
@@ -42,8 +42,13 @@ sources = files(
'ipsec_mb_ops.c',
'pmd_aesni_mb.c',
'pmd_aesni_gcm.c',
- 'pmd_snow3g.c',
- 'pmd_zuc.c',
)
+# PMDs supported only on ARM build
+if arch_subdir == 'arm'
+ sources += files(
+ 'pmd_snow3g.c',
+ 'pmd_zuc.c',
+ )
+endif
deps += ['bus_vdev', 'net', 'security']
require_iova_in_mbuf = false
--
2.52.0
More information about the dev
mailing list