[PATCH 1/2] crypto/ipsec_mb: remove chacha-poly and kasumi drivers
Radu Nicolau
radu.nicolau at intel.com
Wed Jun 3 11:27:34 CEST 2026
The Chacha20-poly1305 and KASUMI drivers were just wrappers around
the main AESNI_MB driver, hence redundant and removed.
Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
---
MAINTAINERS | 4 -
app/test/test_cryptodev.c | 20 ---
app/test/test_cryptodev.h | 2 -
doc/guides/cryptodevs/aesni_mb.rst | 14 +-
doc/guides/cryptodevs/chacha20_poly1305.rst | 100 -------------
.../cryptodevs/features/chacha20_poly1305.ini | 42 ------
doc/guides/cryptodevs/features/kasumi.ini | 39 ------
doc/guides/cryptodevs/index.rst | 2 -
doc/guides/cryptodevs/kasumi.rst | 131 ------------------
doc/guides/rel_notes/release_26_07.rst | 5 +
doc/guides/tools/cryptoperf.rst | 1 -
drivers/crypto/ipsec_mb/ipsec_mb_private.h | 14 --
drivers/crypto/ipsec_mb/meson.build | 2 -
drivers/crypto/ipsec_mb/pmd_chacha_poly.c | 74 ----------
.../crypto/ipsec_mb/pmd_chacha_poly_priv.h | 46 ------
drivers/crypto/ipsec_mb/pmd_kasumi.c | 76 ----------
drivers/crypto/ipsec_mb/pmd_kasumi_priv.h | 61 --------
17 files changed, 8 insertions(+), 625 deletions(-)
delete mode 100644 doc/guides/cryptodevs/chacha20_poly1305.rst
delete mode 100644 doc/guides/cryptodevs/features/chacha20_poly1305.ini
delete mode 100644 doc/guides/cryptodevs/features/kasumi.ini
delete mode 100644 doc/guides/cryptodevs/kasumi.rst
delete mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly.c
delete mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h
delete mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi.c
delete mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi_priv.h
diff --git a/MAINTAINERS b/MAINTAINERS
index 72fc12b1f2..567d1c872e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1234,14 +1234,10 @@ M: Pablo de Lara <pablo.de.lara.guarch at intel.com>
F: drivers/crypto/ipsec_mb/
F: doc/guides/cryptodevs/aesni_gcm.rst
F: doc/guides/cryptodevs/aesni_mb.rst
-F: doc/guides/cryptodevs/chacha20_poly1305.rst
-F: doc/guides/cryptodevs/kasumi.rst
F: doc/guides/cryptodevs/snow3g.rst
F: doc/guides/cryptodevs/zuc.rst
F: doc/guides/cryptodevs/features/aesni_gcm.ini
F: doc/guides/cryptodevs/features/aesni_mb.ini
-F: doc/guides/cryptodevs/features/chacha20_poly1305.ini
-F: doc/guides/cryptodevs/features/kasumi.ini
F: doc/guides/cryptodevs/features/snow3g.ini
F: doc/guides/cryptodevs/features/zuc.ini
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index a60983c6b7..b908f10317 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -20602,17 +20602,6 @@ test_cryptodev_cpu_aesni_mb(void)
return rc;
}
-static int
-test_cryptodev_chacha_poly_mb(void)
-{
- int32_t rc;
- enum rte_security_session_action_type at = gbl_action_type;
- rc = run_cryptodev_testsuite(
- RTE_STR(CRYPTODEV_NAME_CHACHA20_POLY1305_PMD));
- gbl_action_type = at;
- return rc;
-}
-
static int
test_cryptodev_openssl(void)
{
@@ -20654,12 +20643,6 @@ test_cryptodev_sw_snow3g(void)
return run_cryptodev_testsuite(RTE_STR(CRYPTODEV_NAME_SNOW3G_PMD));
}
-static int
-test_cryptodev_sw_kasumi(void)
-{
- return run_cryptodev_testsuite(RTE_STR(CRYPTODEV_NAME_KASUMI_PMD));
-}
-
static int
test_cryptodev_sw_zuc(void)
{
@@ -20910,8 +20893,6 @@ REGISTER_DRIVER_TEST(cryptodev_qat_autotest, test_cryptodev_qat);
REGISTER_DRIVER_TEST(cryptodev_aesni_mb_autotest, test_cryptodev_aesni_mb);
REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_mb_autotest,
test_cryptodev_cpu_aesni_mb);
-REGISTER_DRIVER_TEST(cryptodev_chacha_poly_mb_autotest,
- test_cryptodev_chacha_poly_mb);
REGISTER_DRIVER_TEST(cryptodev_openssl_autotest, test_cryptodev_openssl);
REGISTER_DRIVER_TEST(cryptodev_aesni_gcm_autotest, test_cryptodev_aesni_gcm);
REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_gcm_autotest,
@@ -20919,7 +20900,6 @@ REGISTER_DRIVER_TEST(cryptodev_cpu_aesni_gcm_autotest,
REGISTER_DRIVER_TEST(cryptodev_mlx5_autotest, test_cryptodev_mlx5);
REGISTER_DRIVER_TEST(cryptodev_null_autotest, test_cryptodev_null);
REGISTER_DRIVER_TEST(cryptodev_sw_snow3g_autotest, test_cryptodev_sw_snow3g);
-REGISTER_DRIVER_TEST(cryptodev_sw_kasumi_autotest, test_cryptodev_sw_kasumi);
REGISTER_DRIVER_TEST(cryptodev_sw_zuc_autotest, test_cryptodev_sw_zuc);
REGISTER_DRIVER_TEST(cryptodev_sw_armv8_autotest, test_cryptodev_armv8);
REGISTER_DRIVER_TEST(cryptodev_sw_mvsam_autotest, test_cryptodev_mrvl);
diff --git a/app/test/test_cryptodev.h b/app/test/test_cryptodev.h
index 23d12ec961..49aa45ec17 100644
--- a/app/test/test_cryptodev.h
+++ b/app/test/test_cryptodev.h
@@ -59,9 +59,7 @@
#define CRYPTODEV_NAME_QAT_SYM_PMD crypto_qat
#define CRYPTODEV_NAME_QAT_ASYM_PMD crypto_qat_asym
#define CRYPTODEV_NAME_SNOW3G_PMD crypto_snow3g
-#define CRYPTODEV_NAME_KASUMI_PMD crypto_kasumi
#define CRYPTODEV_NAME_ZUC_PMD crypto_zuc
-#define CRYPTODEV_NAME_CHACHA20_POLY1305_PMD crypto_chacha20_poly1305
#define CRYPTODEV_NAME_ARMV8_PMD crypto_armv8
#define CRYPTODEV_NAME_DPAA_SEC_PMD crypto_dpaa_sec
#define CRYPTODEV_NAME_DPAA2_SEC_PMD crypto_dpaa2_sec
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst
index 7ce92305d1..9d886657f2 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -81,23 +81,15 @@ Limitations
* RTE_CRYPTO_CIPHER_DES_DOCSISBPI is not supported for combined Crypto-CRC
DOCSIS security protocol.
-AESNI MB PMD selection over SNOW3G/ZUC/KASUMI PMDs
+AESNI MB PMD selection over SNOW3G/ZUC PMDs
--------------------------------------------------
-This PMD supports wireless cipher suite (SNOW3G, ZUC and KASUMI).
+This PMD supports wireless cipher suite (SNOW3G and ZUC).
On Intel processors, it is recommended to use this PMD
-instead of SNOW3G, ZUC and KASUMI PMDs, as it enables algorithm mixing
+instead of SNOW3G and ZUC PMDs, as it enables algorithm mixing
(e.g. cipher algorithm SNOW3G-UEA2 with authentication algorithm AES-CMAC-128)
and performance over IMIX (packet size mix) traffic is significantly higher.
-AESNI MB PMD selection over CHACHA20-POLY1305 PMD
--------------------------------------------------
-
-This PMD supports Chacha20-Poly1305 algorithm.
-On Intel processors, it is recommended to use this PMD instead of CHACHA20-POLY1305 PMD,
-as it delivers better performance on single segment buffers.
-For multi-segment buffers, it is still recommended to use CHACHA20-POLY1305 PMD,
-until the new SGL API is introduced in the AESNI MB PMD.
Installation
------------
diff --git a/doc/guides/cryptodevs/chacha20_poly1305.rst b/doc/guides/cryptodevs/chacha20_poly1305.rst
deleted file mode 100644
index 37d9d2e8af..0000000000
--- a/doc/guides/cryptodevs/chacha20_poly1305.rst
+++ /dev/null
@@ -1,100 +0,0 @@
-.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2021 Intel Corporation.
-
-Chacha20-poly1305 Crypto Poll Mode Driver
-=========================================
-
-The Chacha20-poly1305 PMD provides poll mode crypto driver support for
-utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_.
-
-Features
---------
-
-Chacha20-poly1305 PMD has support for:
-
-AEAD algorithms:
-
-* RTE_CRYPTO_AEAD_CHACHA20_POLY1305
-
-Chaha20_Poly1305 PMD vs AESNI MB PMD
-------------------------------------
-
-AESNI MB PMD also supports CHACHA20-POLY1305 algorithms.
-It is recommended to use the AESNI MB PMD,
-which offers better performance on Intel processors,
-when single-segment buffers are used.
-Take a look at the PMD documentation (:doc:`aesni_mb`) for more information.
-
-Installation
-------------
-
-To build DPDK with the Chacha20-poly1305 PMD the user is required to download
-the multi-buffer library from `here <https://github.com/01org/intel-ipsec-mb>`_
-and compile it on their user system before building DPDK.
-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>`_.
-
-After downloading the library, the user needs to unpack and compile it
-on their system before building DPDK:
-
-.. code-block:: console
-
- make
- make install
-
-The library requires NASM to be built. Depending on the library version, it might
-require a minimum NASM version (e.g. v0.54 requires at least NASM 2.14).
-
-NASM is packaged for different OS. However, on some OS the version is too old,
-so a manual installation is required. In that case, NASM can be downloaded from
-`NASM website <https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D>`_.
-Once it is downloaded, extract it and follow these steps:
-
-.. code-block:: console
-
- ./configure
- make
- make install
-
-As a reference, the following table shows a mapping between the past DPDK versions
-and the external crypto libraries supported by them:
-
-.. _table_chacha20_poly1305_versions:
-
-.. table:: DPDK and external crypto library version compatibility
-
- ============= ================================
- DPDK version Crypto library version
- ============= ================================
- 21.11 - 24.07 Multi-buffer library 1.0 - 1.5
- 24.11+ Multi-buffer library 1.4+
- ============= ================================
-
-Initialization
---------------
-
-In order to enable this virtual crypto PMD, user must:
-
-* Build the multi buffer library (explained in Installation section).
-
-To use the PMD in an application, user must:
-
-* Call rte_vdev_init("crypto_chacha20_poly1305") within the application.
-
-* Use --vdev="crypto_chacha20_poly1305" in the EAL options, which will call
- rte_vdev_init() internally.
-
-The following parameters (all optional) can be provided in the previous two calls:
-
-* socket_id: Specify the socket where the memory for the device is going to be allocated
- (by default, socket_id will be the socket where the core that is creating the PMD is running on).
-
-* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default).
-
-* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default).
-
-Example:
-
-.. code-block:: console
-
- --vdev="crypto_chacha20_poly1305,socket_id=0,max_nb_sessions=128"
diff --git a/doc/guides/cryptodevs/features/chacha20_poly1305.ini b/doc/guides/cryptodevs/features/chacha20_poly1305.ini
deleted file mode 100644
index b5a7b39bd0..0000000000
--- a/doc/guides/cryptodevs/features/chacha20_poly1305.ini
+++ /dev/null
@@ -1,42 +0,0 @@
-;
-; Supported features of the 'chacha20_poly1305' crypto driver.
-;
-; Refer to default.ini for the full list of available PMD features.
-;
-[Features]
-Symmetric crypto = Y
-Sym operation chaining = Y
-Symmetric sessionless = Y
-Non-Byte aligned data = Y
-In Place SGL = Y
-OOP SGL In LB Out = Y
-OOP LB In LB Out = Y
-CPU crypto = Y
-
-;
-; Supported crypto algorithms of the 'chacha20_poly1305' crypto driver.
-;
-[Cipher]
-
-;
-; Supported authentication algorithms of the 'chacha20_poly1305' crypto driver.
-;
-[Auth]
-
-;
-; Supported AEAD algorithms of the 'chacha20_poly1305' crypto driver.
-;
-[AEAD]
-CHACHA20-POLY1305 = Y
-
-;
-; Supported Asymmetric algorithms of the 'chacha20_poly1305' crypto driver.
-;
-[Asymmetric]
-
-;
-; Supported Operating systems of the 'chacha20_poly1305' crypto driver.
-;
-[OS]
-Linux = Y
-FreeBSD = Y
diff --git a/doc/guides/cryptodevs/features/kasumi.ini b/doc/guides/cryptodevs/features/kasumi.ini
deleted file mode 100644
index d400a4269d..0000000000
--- a/doc/guides/cryptodevs/features/kasumi.ini
+++ /dev/null
@@ -1,39 +0,0 @@
-;
-; Supported features of the 'kasumi' crypto driver.
-;
-; Refer to default.ini for the full list of available PMD features.
-;
-[Features]
-Symmetric crypto = Y
-Sym operation chaining = Y
-Symmetric sessionless = Y
-Non-Byte aligned data = Y
-OOP LB In LB Out = Y
-
-;
-; Supported crypto algorithms of the 'kasumi' crypto driver.
-;
-[Cipher]
-KASUMI F8 = Y
-;
-; Supported authentication algorithms of the 'kasumi' crypto driver.
-;
-[Auth]
-KASUMI F9 = Y
-
-;
-; Supported AEAD algorithms of the 'kasumi' crypto driver.
-;
-[AEAD]
-
-;
-; Supported Asymmetric algorithms of the 'kasumi' crypto driver.
-;
-[Asymmetric]
-
-;
-; Supported Operating systems of the 'kasumi' crypto driver.
-;
-[OS]
-Linux = Y
-FreeBSD = Y
diff --git a/doc/guides/cryptodevs/index.rst b/doc/guides/cryptodevs/index.rst
index 7c19629e17..cfb6a494bf 100644
--- a/doc/guides/cryptodevs/index.rst
+++ b/doc/guides/cryptodevs/index.rst
@@ -16,12 +16,10 @@ Crypto Device Drivers
bcmfs
caam_jr
ccp
- chacha20_poly1305
cnxk
dpaa2_sec
dpaa_sec
ionic
- kasumi
octeontx
openssl
mlx5
diff --git a/doc/guides/cryptodevs/kasumi.rst b/doc/guides/cryptodevs/kasumi.rst
deleted file mode 100644
index ce1db4e905..0000000000
--- a/doc/guides/cryptodevs/kasumi.rst
+++ /dev/null
@@ -1,131 +0,0 @@
-.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2016-2019 Intel Corporation.
-
-KASUMI Crypto Poll Mode Driver
-===============================
-
-The KASUMI PMD (**librte_crypto_kasumi**) provides poll mode crypto driver support for
-utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
-which implements F8 and F9 functions for KASUMI UEA1 cipher and UIA1 hash algorithms.
-
-Features
---------
-
-KASUMI PMD has support for:
-
-Cipher algorithm:
-
-* RTE_CRYPTO_CIPHER_KASUMI_F8
-
-Authentication algorithm:
-
-* RTE_CRYPTO_AUTH_KASUMI_F9
-
-Limitations
------------
-
-* Chained mbufs are not supported.
-* KASUMI(F9) supported only if hash offset and length field is byte-aligned.
-* In-place bit-level operations for KASUMI(F8) are not supported
- (if length and/or offset of data to be ciphered is not byte-aligned).
-
-
-KASUMI PMD vs AESNI MB PMD
---------------------------
-
-AESNI MB PMD also supports KASUMI cipher and authentication algorithms.
-It is recommended to use the AESNI MB PMD,
-which offers better performance on Intel processors.
-Take a look at the PMD documentation (:doc:`aesni_mb`) for more information.
-
-Installation
-------------
-
-To build DPDK with the KASUMI_PMD the user is required to download the multi-buffer
-library from `here <https://github.com/01org/intel-ipsec-mb>`_
-and compile it on their user system before building DPDK.
-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>`_.
-
-After downloading the library, the user needs to unpack and compile it
-on their system before building DPDK:
-
-.. code-block:: console
-
- make
- make install
-
-The library requires NASM to be built. Depending on the library version, it might
-require a minimum NASM version (e.g. v0.54 requires at least NASM 2.14).
-
-NASM is packaged for different OS. However, on some OS the version is too old,
-so a manual installation is required. In that case, NASM can be downloaded from
-`NASM website <https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D>`_.
-Once it is downloaded, extract it and follow these steps:
-
-.. code-block:: console
-
- ./configure
- make
- make install
-
-As a reference, the following table shows a mapping between the past DPDK versions
-and the external crypto libraries supported by them:
-
-.. _table_kasumi_versions:
-
-.. table:: DPDK and external crypto library version compatibility
-
- ============= ================================
- DPDK version Crypto library version
- ============= ================================
- 20.02 - 21.08 Multi-buffer library 0.53 - 1.3
- 21.11 - 24.07 Multi-buffer library 1.0 - 1.5
- 24.11+ Multi-buffer library 1.4 - 1.5
- ============= ================================
-
-Initialization
---------------
-
-In order to enable this virtual crypto PMD, user must:
-
-* Build the multi buffer library (explained in Installation section).
-
-To use the PMD in an application, user must:
-
-* Call rte_vdev_init("crypto_kasumi") within the application.
-
-* Use --vdev="crypto_kasumi" in the EAL options, which will call rte_vdev_init() internally.
-
-The following parameters (all optional) can be provided in the previous two calls:
-
-* socket_id: Specify the socket where the memory for the device is going to be allocated
- (by default, socket_id will be the socket where the core that is creating the PMD is running on).
-
-* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default).
-
-* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default).
-
-Example:
-
-.. code-block:: console
-
- ./dpdk-l2fwd-crypto -l 1 --vdev="crypto_kasumi,socket_id=0,max_nb_sessions=128" \
- -- -p 1 --cdev SW --chain CIPHER_ONLY --cipher_algo "kasumi-f8"
-
-Extra notes on KASUMI F9
-------------------------
-
-When using KASUMI F9 authentication algorithm, the input buffer must be
-constructed according to the 3GPP KASUMI specifications (section 4.4, page 13):
-`<http://cryptome.org/3gpp/35201-900.pdf>`_.
-Input buffer has to have COUNT (4 bytes), FRESH (4 bytes), MESSAGE and DIRECTION (1 bit)
-concatenated. After the DIRECTION bit, a single '1' bit is appended, followed by
-between 0 and 7 '0' bits, so that the total length of the buffer is multiple of 8 bits.
-Note that the actual message can be any length, specified in bits.
-
-Once this buffer is passed this way, when creating the crypto operation,
-length of data to authenticate (op.sym.auth.data.length) must be the length
-of all the items described above, including the padding at the end.
-Also, offset of data to authenticate (op.sym.auth.data.offset)
-must be such that points at the start of the COUNT bytes.
diff --git a/doc/guides/rel_notes/release_26_07.rst b/doc/guides/rel_notes/release_26_07.rst
index b8a3e2ced9..64c8b038d1 100644
--- a/doc/guides/rel_notes/release_26_07.rst
+++ b/doc/guides/rel_notes/release_26_07.rst
@@ -118,6 +118,11 @@ Removed Items
Also, make sure to start the actual text at the margin.
=======================================================
+* **Removed Chacha20-poly1305 and KASUMI crypto drivers.**
+
+ * The Chacha20-poly1305 and KASUMI drivers were just wrappers around
+ the main AESNI_MB driver.
+
API Changes
-----------
diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst
index 846487c5e6..2ce9bc9a96 100644
--- a/doc/guides/tools/cryptoperf.rst
+++ b/doc/guides/tools/cryptoperf.rst
@@ -153,7 +153,6 @@ The following are the application command-line options:
crypto_cn10k
crypto_dpaa_sec
crypto_dpaa2_sec
- crypto_kasumi
crypto_mvsam
crypto_null
crypto_octeontx
diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h b/drivers/crypto/ipsec_mb/ipsec_mb_private.h
index 025767cfce..9712bf5b4c 100644
--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h
+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h
@@ -45,18 +45,12 @@ 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 */
-#define CRYPTODEV_NAME_KASUMI_PMD crypto_kasumi
-/**< IPSEC Multi buffer PMD kasumi device name */
-
#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 */
-#define CRYPTODEV_NAME_CHACHA20_POLY1305_PMD crypto_chacha20_poly1305
-/**< IPSEC Multi buffer PMD chacha20_poly1305 device name */
-
/** PMD LOGTYPE DRIVER, common to all PMDs */
extern int ipsec_mb_logtype_driver;
#define RTE_LOGTYPE_IPSEC_MB ipsec_mb_logtype_driver
@@ -68,10 +62,8 @@ extern int ipsec_mb_logtype_driver;
enum ipsec_mb_pmd_types {
IPSEC_MB_PMD_TYPE_AESNI_MB = 0,
IPSEC_MB_PMD_TYPE_AESNI_GCM,
- IPSEC_MB_PMD_TYPE_KASUMI,
IPSEC_MB_PMD_TYPE_SNOW3G,
IPSEC_MB_PMD_TYPE_ZUC,
- IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305,
IPSEC_MB_N_PMD_TYPES
};
@@ -92,10 +84,8 @@ enum ipsec_mb_operation {
extern uint8_t pmd_driver_id_aesni_mb;
extern uint8_t pmd_driver_id_aesni_gcm;
-extern uint8_t pmd_driver_id_kasumi;
extern uint8_t pmd_driver_id_snow3g;
extern uint8_t pmd_driver_id_zuc;
-extern uint8_t pmd_driver_id_chacha20_poly1305;
/** Helper function. Gets driver ID based on PMD type */
static __rte_always_inline uint8_t
@@ -106,14 +96,10 @@ 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;
- case IPSEC_MB_PMD_TYPE_KASUMI:
- return pmd_driver_id_kasumi;
case IPSEC_MB_PMD_TYPE_SNOW3G:
return pmd_driver_id_snow3g;
case IPSEC_MB_PMD_TYPE_ZUC:
return pmd_driver_id_zuc;
- case IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305:
- return pmd_driver_id_chacha20_poly1305;
default:
break;
}
diff --git a/drivers/crypto/ipsec_mb/meson.build b/drivers/crypto/ipsec_mb/meson.build
index 5fcff5b04b..6c5e4e2259 100644
--- a/drivers/crypto/ipsec_mb/meson.build
+++ b/drivers/crypto/ipsec_mb/meson.build
@@ -42,8 +42,6 @@ sources = files(
'ipsec_mb_ops.c',
'pmd_aesni_mb.c',
'pmd_aesni_gcm.c',
- 'pmd_chacha_poly.c',
- 'pmd_kasumi.c',
'pmd_snow3g.c',
'pmd_zuc.c',
)
diff --git a/drivers/crypto/ipsec_mb/pmd_chacha_poly.c b/drivers/crypto/ipsec_mb/pmd_chacha_poly.c
deleted file mode 100644
index 24488d4921..0000000000
--- a/drivers/crypto/ipsec_mb/pmd_chacha_poly.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2021 Intel Corporation
- */
-
-#include "pmd_chacha_poly_priv.h"
-#include "pmd_aesni_mb_priv.h"
-
-struct rte_cryptodev_ops chacha20_poly1305_pmd_ops = {
- .dev_configure = ipsec_mb_config,
- .dev_start = ipsec_mb_start,
- .dev_stop = ipsec_mb_stop,
- .dev_close = ipsec_mb_close,
-
- .stats_get = ipsec_mb_stats_get,
- .stats_reset = ipsec_mb_stats_reset,
-
- .dev_infos_get = ipsec_mb_info_get,
-
- .queue_pair_setup = ipsec_mb_qp_setup,
- .queue_pair_release = ipsec_mb_qp_release,
-
- .sym_session_get_size = ipsec_mb_sym_session_get_size,
- .sym_session_configure = ipsec_mb_sym_session_configure,
- .sym_session_clear = ipsec_mb_sym_session_clear
-};
-
-struct rte_cryptodev_ops *rte_chacha20_poly1305_pmd_ops =
- &chacha20_poly1305_pmd_ops;
-
-static int
-chacha20_poly1305_probe(struct rte_vdev_device *vdev)
-{
- return ipsec_mb_create(vdev, IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305);
-}
-
-static struct rte_vdev_driver cryptodev_chacha20_poly1305_pmd_drv = {
- .probe = chacha20_poly1305_probe,
- .remove = ipsec_mb_remove
-};
-
-static struct cryptodev_driver chacha20_poly1305_crypto_drv;
-
-RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_CHACHA20_POLY1305_PMD,
- cryptodev_chacha20_poly1305_pmd_drv);
-RTE_PMD_REGISTER_ALIAS(CRYPTODEV_NAME_CHACHA20_POLY1305_PMD,
- cryptodev_chacha20_poly1305_pmd);
-RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_CHACHA20_POLY1305_PMD,
- "max_nb_queue_pairs=<int> socket_id=<int>");
-RTE_PMD_REGISTER_CRYPTO_DRIVER(chacha20_poly1305_crypto_drv,
- cryptodev_chacha20_poly1305_pmd_drv.driver,
- pmd_driver_id_chacha20_poly1305);
-
-/* Constructor function to register chacha20_poly1305 PMD */
-RTE_INIT(ipsec_mb_register_chacha20_poly1305)
-{
- struct ipsec_mb_internals *chacha_poly_data
- = &ipsec_mb_pmds[IPSEC_MB_PMD_TYPE_CHACHA20_POLY1305];
-
- chacha_poly_data->caps = chacha20_poly1305_capabilities;
- chacha_poly_data->dequeue_burst = aesni_mb_dequeue_burst;
- chacha_poly_data->feature_flags =
- RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
- RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
- RTE_CRYPTODEV_FF_IN_PLACE_SGL |
- RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
- RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
- RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO |
- RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
- chacha_poly_data->internals_priv_size = 0;
- chacha_poly_data->ops = &chacha20_poly1305_pmd_ops;
- chacha_poly_data->qp_priv_size = sizeof(struct aesni_mb_qp_data);
- chacha_poly_data->session_configure = aesni_mb_session_configure;
- chacha_poly_data->session_priv_size = sizeof(struct aesni_mb_session);
-}
diff --git a/drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h b/drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h
deleted file mode 100644
index e668bfe07f..0000000000
--- a/drivers/crypto/ipsec_mb/pmd_chacha_poly_priv.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2021 Intel Corporation
- */
-
-#ifndef _PMD_CHACHA_POLY_PRIV_H_
-#define _PMD_CHACHA_POLY_PRIV_H_
-
-#include "ipsec_mb_private.h"
-
-#define CHACHA20_POLY1305_DIGEST_LENGTH 16
-
-static const
-struct rte_cryptodev_capabilities chacha20_poly1305_capabilities[] = {
- {/* CHACHA20-POLY1305 */
- .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
- {.sym = {
- .xform_type = RTE_CRYPTO_SYM_XFORM_AEAD,
- {.aead = {
- .algo = RTE_CRYPTO_AEAD_CHACHA20_POLY1305,
- .block_size = 64,
- .key_size = {
- .min = 32,
- .max = 32,
- .increment = 0},
- .digest_size = {
- .min = 16,
- .max = 16,
- .increment = 0},
- .aad_size = {
- .min = 0,
- .max = 240,
- .increment = 1},
- .iv_size = {
- .min = 12,
- .max = 12,
- .increment = 0},
- },
- }
- },}
- },
- RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
-};
-
-uint8_t pmd_driver_id_chacha20_poly1305;
-
-#endif /* _PMD_CHACHA_POLY_PRIV_H_ */
diff --git a/drivers/crypto/ipsec_mb/pmd_kasumi.c b/drivers/crypto/ipsec_mb/pmd_kasumi.c
deleted file mode 100644
index f83539232d..0000000000
--- a/drivers/crypto/ipsec_mb/pmd_kasumi.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2016-2021 Intel Corporation
- */
-
-#include <bus_vdev_driver.h>
-#include <rte_common.h>
-#include <rte_cpuflags.h>
-#include <rte_cryptodev.h>
-#include <rte_hexdump.h>
-#include <rte_malloc.h>
-
-#include "pmd_kasumi_priv.h"
-#include "pmd_aesni_mb_priv.h"
-
-struct rte_cryptodev_ops kasumi_pmd_ops = {
- .dev_configure = ipsec_mb_config,
- .dev_start = ipsec_mb_start,
- .dev_stop = ipsec_mb_stop,
- .dev_close = ipsec_mb_close,
-
- .stats_get = ipsec_mb_stats_get,
- .stats_reset = ipsec_mb_stats_reset,
-
- .dev_infos_get = ipsec_mb_info_get,
-
- .queue_pair_setup = ipsec_mb_qp_setup,
- .queue_pair_release = ipsec_mb_qp_release,
-
- .sym_session_get_size = ipsec_mb_sym_session_get_size,
- .sym_session_configure = ipsec_mb_sym_session_configure,
- .sym_session_clear = ipsec_mb_sym_session_clear
-};
-
-struct rte_cryptodev_ops *rte_kasumi_pmd_ops = &kasumi_pmd_ops;
-
-static int
-kasumi_probe(struct rte_vdev_device *vdev)
-{
- return ipsec_mb_create(vdev, IPSEC_MB_PMD_TYPE_KASUMI);
-}
-
-static struct rte_vdev_driver cryptodev_kasumi_pmd_drv = {
- .probe = kasumi_probe,
- .remove = ipsec_mb_remove
-};
-
-static struct cryptodev_driver kasumi_crypto_drv;
-
-RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_KASUMI_PMD, cryptodev_kasumi_pmd_drv);
-RTE_PMD_REGISTER_ALIAS(CRYPTODEV_NAME_KASUMI_PMD, cryptodev_kasumi_pmd);
-RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_KASUMI_PMD,
- "max_nb_queue_pairs=<int> socket_id=<int>");
-RTE_PMD_REGISTER_CRYPTO_DRIVER(kasumi_crypto_drv,
- cryptodev_kasumi_pmd_drv.driver,
- pmd_driver_id_kasumi);
-
-/* Constructor function to register kasumi PMD */
-RTE_INIT(ipsec_mb_register_kasumi)
-{
- struct ipsec_mb_internals *kasumi_data
- = &ipsec_mb_pmds[IPSEC_MB_PMD_TYPE_KASUMI];
-
- kasumi_data->caps = kasumi_capabilities;
- kasumi_data->dequeue_burst = aesni_mb_dequeue_burst;
- kasumi_data->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO
- | RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING
- | RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA
- | RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT
- | RTE_CRYPTODEV_FF_SYM_SESSIONLESS
- | RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT;
- kasumi_data->internals_priv_size = 0;
- kasumi_data->ops = &kasumi_pmd_ops;
- kasumi_data->qp_priv_size = sizeof(struct aesni_mb_qp_data);
- kasumi_data->session_configure = aesni_mb_session_configure;
- kasumi_data->session_priv_size = sizeof(struct aesni_mb_session);
-}
diff --git a/drivers/crypto/ipsec_mb/pmd_kasumi_priv.h b/drivers/crypto/ipsec_mb/pmd_kasumi_priv.h
deleted file mode 100644
index 3223cf1a14..0000000000
--- a/drivers/crypto/ipsec_mb/pmd_kasumi_priv.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2016-2021 Intel Corporation
- */
-
-#ifndef _PMD_KASUMI_PRIV_H_
-#define _PMD_KASUMI_PRIV_H_
-
-#include "ipsec_mb_private.h"
-
-#define KASUMI_KEY_LENGTH 16
-#define KASUMI_IV_LENGTH 8
-#define KASUMI_DIGEST_LENGTH 4
-
-uint8_t pmd_driver_id_kasumi;
-
-static const struct rte_cryptodev_capabilities kasumi_capabilities[] = {
- { /* KASUMI (F9) */
- .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
- {.sym = {
- .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
- {.auth = {
- .algo = RTE_CRYPTO_AUTH_KASUMI_F9,
- .block_size = 8,
- .key_size = {
- .min = KASUMI_KEY_LENGTH,
- .max = KASUMI_KEY_LENGTH,
- .increment = 0
- },
- .digest_size = {
- .min = KASUMI_DIGEST_LENGTH,
- .max = KASUMI_DIGEST_LENGTH,
- .increment = 0
- },
- .iv_size = { 0 }
- }, }
- }, }
- },
- { /* KASUMI (F8) */
- .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
- {.sym = {
- .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
- {.cipher = {
- .algo = RTE_CRYPTO_CIPHER_KASUMI_F8,
- .block_size = 8,
- .key_size = {
- .min = KASUMI_KEY_LENGTH,
- .max = KASUMI_KEY_LENGTH,
- .increment = 0
- },
- .iv_size = {
- .min = KASUMI_IV_LENGTH,
- .max = KASUMI_IV_LENGTH,
- .increment = 0
- }
- }, }
- }, }
- },
- RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
-};
-
-#endif /* _PMD_KASUMI_PRIV_H_ */
--
2.52.0
More information about the dev
mailing list