Update the OpenSSL PMD to require OpenSSL 3.0.0 as the minimum
supported version, removing all compatibility code for earlier
versions (1.0.1, 1.1.0, 1.1.1).

Signed-off-by: Emma Finn <[email protected]>
---
 doc/guides/cryptodevs/openssl.rst            |   4 +-
 doc/guides/rel_notes/release_26_07.rst       |   5 +
 drivers/crypto/openssl/compat.h              | 203 ------
 drivers/crypto/openssl/openssl_pmd_private.h |  30 -
 drivers/crypto/openssl/rte_openssl_pmd.c     | 648 +------------------
 drivers/crypto/openssl/rte_openssl_pmd_ops.c | 206 ------
 6 files changed, 19 insertions(+), 1077 deletions(-)

diff --git a/doc/guides/cryptodevs/openssl.rst 
b/doc/guides/cryptodevs/openssl.rst
index 9d94668a9a..b4e2a014e2 100644
--- a/doc/guides/cryptodevs/openssl.rst
+++ b/doc/guides/cryptodevs/openssl.rst
@@ -74,9 +74,9 @@ To compile the OpenSSL PMD the openssl library must be 
installed. It will
 then be picked up by the Meson/Ninja build system.
 
 To ensure that you have the latest security fixes it is recommended that you
-use version 1.1.1g or newer.
+use the latest stable version of OpenSSL 3.x.
 
-* 1.1.1g, 2020-Apr-21. https://www.openssl.org/source/
+* OpenSSL 3.0.0 or newer: https://www.openssl.org/source/
 
 Initialization
 --------------
diff --git a/doc/guides/rel_notes/release_26_07.rst 
b/doc/guides/rel_notes/release_26_07.rst
index 58d782f77e..cf2776b606 100644
--- a/doc/guides/rel_notes/release_26_07.rst
+++ b/doc/guides/rel_notes/release_26_07.rst
@@ -90,6 +90,11 @@ Removed Items
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* **crypto/openssl: Removed support for OpenSSL 1.x versions from the OpenSSL 
crypto PMD.
+
+  The OpenSSL crypto PMD now requires OpenSSL 3.0 as the minimum version,
+  and all compatibility code for OpenSSL 1.0.1, 1.1.0, and 1.1.1 versions has 
been removed.
+
 
 API Changes
 -----------
diff --git a/drivers/crypto/openssl/compat.h b/drivers/crypto/openssl/compat.h
index e1814fea8c..14104dbf2e 100644
--- a/drivers/crypto/openssl/compat.h
+++ b/drivers/crypto/openssl/compat.h
@@ -5,7 +5,6 @@
 #ifndef __RTA_COMPAT_H__
 #define __RTA_COMPAT_H__
 
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
 static __rte_always_inline void
 free_hmac_ctx(EVP_MAC_CTX *ctx)
 {
@@ -17,120 +16,7 @@ free_cmac_ctx(EVP_MAC_CTX *ctx)
 {
        EVP_MAC_CTX_free(ctx);
 }
-#else
-static __rte_always_inline void
-free_hmac_ctx(HMAC_CTX *ctx)
-{
-       HMAC_CTX_free(ctx);
-}
-
-static __rte_always_inline void
-free_cmac_ctx(CMAC_CTX *ctx)
-{
-       CMAC_CTX_free(ctx);
-}
-#endif
-
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-
-static __rte_always_inline int
-set_rsa_params(RSA *rsa, BIGNUM *p, BIGNUM *q)
-{
-       rsa->p = p;
-       rsa->q = q;
-       return 0;
-}
-
-static __rte_always_inline int
-set_rsa_crt_params(RSA *rsa, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-{
-       rsa->dmp1 = dmp1;
-       rsa->dmq1 = dmq1;
-       rsa->iqmp = iqmp;
-       return 0;
-}
-
-static __rte_always_inline int
-set_rsa_keys(RSA *rsa, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-{
-       rsa->n = n;
-       rsa->e = e;
-       rsa->d = d;
-       return 0;
-}
-
-static __rte_always_inline int
-set_dh_params(DH *dh, BIGNUM *p, BIGNUM *g)
-{
-       dh->p = p;
-       dh->q = NULL;
-       dh->g = g;
-       return 0;
-}
-
-static __rte_always_inline int
-set_dh_priv_key(DH *dh, BIGNUM *priv_key)
-{
-       dh->priv_key = priv_key;
-       return 0;
-}
-
-static __rte_always_inline int
-set_dsa_params(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-{
-       dsa->p = p;
-       dsa->q = q;
-       dsa->g = g;
-       return 0;
-}
-
-static __rte_always_inline void
-get_dh_pub_key(DH *dh, const BIGNUM **pub_key)
-{
-       *pub_key = dh->pub_key;
-}
-
-static __rte_always_inline void
-get_dh_priv_key(DH *dh, const BIGNUM **priv_key)
-{
-       *priv_key = dh->priv_key;
-}
-
-static __rte_always_inline void
-set_dsa_sign(DSA_SIG *sign, BIGNUM *r, BIGNUM *s)
-{
-       sign->r = r;
-       sign->s = s;
-}
-
-static __rte_always_inline void
-get_dsa_sign(DSA_SIG *sign, const BIGNUM **r, const BIGNUM **s)
-{
-       *r = sign->r;
-       *s = sign->s;
-}
-
-static __rte_always_inline int
-set_dsa_keys(DSA *dsa, BIGNUM *pub, BIGNUM *priv)
-{
-       dsa->pub_key = pub;
-       dsa->priv_key = priv;
-       return 0;
-}
-
-static __rte_always_inline void
-set_dsa_pub_key(DSA *dsa, BIGNUM *pub)
-{
-       dsa->pub_key = pub;
-}
-
-static __rte_always_inline void
-get_dsa_priv_key(DSA *dsa, BIGNUM **priv_key)
-{
-       *priv_key = dsa->priv_key;
-}
 
-#elif (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 static __rte_always_inline void
 set_dsa_sign(DSA_SIG *sign, BIGNUM *r, BIGNUM *s)
 {
@@ -142,94 +28,5 @@ get_dsa_sign(DSA_SIG *sign, const BIGNUM **r, const BIGNUM 
**s)
 {
        DSA_SIG_get0(sign, r, s);
 }
-#else
-
-static __rte_always_inline int
-set_rsa_params(RSA *rsa, BIGNUM *p, BIGNUM *q)
-{
-       return !(RSA_set0_factors(rsa, p, q));
-}
-
-static __rte_always_inline int
-set_rsa_crt_params(RSA *rsa, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-{
-       return !(RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp));
-}
-
-/* n, e must be non-null, d can be NULL */
-
-static __rte_always_inline  int
-set_rsa_keys(RSA *rsa, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-{
-       return !(RSA_set0_key(rsa, n, e, d));
-}
-
-static __rte_always_inline int
-set_dh_params(DH *dh, BIGNUM *p, BIGNUM *g)
-{
-       return !(DH_set0_pqg(dh, p, NULL, g));
-}
-
-static __rte_always_inline int
-set_dh_priv_key(DH *dh, BIGNUM *priv_key)
-{
-       return !(DH_set0_key(dh, NULL, priv_key));
-}
-
-static __rte_always_inline void
-get_dh_pub_key(DH *dh_key, const BIGNUM **pub_key)
-{
-       DH_get0_key(dh_key, pub_key, NULL);
-}
-
-static __rte_always_inline void
-get_dh_priv_key(DH *dh_key, const BIGNUM **priv_key)
-{
-       DH_get0_key(dh_key, NULL, priv_key);
-}
-
-static __rte_always_inline int
-set_dsa_params(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-{
-       return !(DSA_set0_pqg(dsa, p, q, g));
-}
-
-static __rte_always_inline void
-set_dsa_priv_key(DSA *dsa, BIGNUM *priv_key)
-{
-       DSA_set0_key(dsa, NULL, priv_key);
-}
-
-static __rte_always_inline void
-set_dsa_sign(DSA_SIG *sign, BIGNUM *r, BIGNUM *s)
-{
-       DSA_SIG_set0(sign, r, s);
-}
-
-static __rte_always_inline void
-get_dsa_sign(DSA_SIG *sign, const BIGNUM **r, const BIGNUM **s)
-{
-       DSA_SIG_get0(sign, r, s);
-}
-
-static __rte_always_inline int
-set_dsa_keys(DSA *dsa, BIGNUM *pub, BIGNUM *priv)
-{
-       return !(DSA_set0_key(dsa, pub, priv));
-}
-
-static __rte_always_inline void
-set_dsa_pub_key(DSA *dsa, BIGNUM *pub_key)
-{
-       DSA_set0_key(dsa, pub_key, NULL);
-}
-
-static __rte_always_inline void
-get_dsa_priv_key(DSA *dsa, const BIGNUM **priv_key)
-{
-       DSA_get0_key(dsa, NULL, priv_key);
-}
-
-#endif /* version < 10100000 */
 
 #endif /* __RTA_COMPAT_H__ */
diff --git a/drivers/crypto/openssl/openssl_pmd_private.h 
b/drivers/crypto/openssl/openssl_pmd_private.h
index d5a751600a..ab40012d61 100644
--- a/drivers/crypto/openssl/openssl_pmd_private.h
+++ b/drivers/crypto/openssl/openssl_pmd_private.h
@@ -13,10 +13,8 @@
 #include <openssl/dh.h>
 #include <openssl/dsa.h>
 #include <openssl/ec.h>
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 #include <openssl/provider.h>
 #include <openssl/core_names.h>
-#endif
 
 #define CRYPTODEV_NAME_OPENSSL_PMD     crypto_openssl
 /**< Open SSL Crypto PMD device name */
@@ -84,13 +82,8 @@ struct evp_ctx_pair {
        EVP_CIPHER_CTX *cipher;
        union {
                EVP_MD_CTX *auth;
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
                EVP_MAC_CTX *hmac;
                EVP_MAC_CTX *cmac;
-#else
-               HMAC_CTX *hmac;
-               CMAC_CTX *cmac;
-#endif
        };
 };
 
@@ -153,24 +146,13 @@ struct __rte_cache_aligned openssl_session {
                                /**< pointer to EVP key */
                                const EVP_MD *evp_algo;
                                /**< pointer to EVP algorithm function */
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
                                EVP_MAC_CTX * ctx;
-# else
-                               HMAC_CTX *ctx;
-# endif
                                /**< pointer to EVP context structure */
                        } hmac;
 
                        struct {
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
                                EVP_MAC_CTX * ctx;
                                /**< pointer to EVP context structure */
-# else
-                               const EVP_CIPHER * evp_algo;
-                               /**< pointer to EVP algorithm function */
-                               CMAC_CTX *ctx;
-                               /**< pointer to EVP context structure */
-# endif
                        } cmac;
                };
 
@@ -198,9 +180,7 @@ struct __rte_cache_aligned openssl_asym_session {
                struct rsa {
                        RSA *rsa;
                        uint32_t pad;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        EVP_PKEY_CTX * ctx;
-#endif
                } r;
                struct exp {
                        BIGNUM *exp;
@@ -216,38 +196,28 @@ struct __rte_cache_aligned openssl_asym_session {
                        uint32_t key_op;
                        BIGNUM *p;
                        BIGNUM *g;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        OSSL_PARAM_BLD * param_bld;
                        OSSL_PARAM_BLD *param_bld_peer;
-#endif
                } dh;
                struct {
                        DSA *dsa;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        OSSL_PARAM_BLD * param_bld;
                        BIGNUM *p;
                        BIGNUM *g;
                        BIGNUM *q;
                        BIGNUM *priv_key;
-#endif
                } s;
                struct {
                        uint8_t curve_id;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        EC_GROUP * group;
                        BIGNUM *priv_key;
-#endif
                } ec;
                struct {
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        OSSL_PARAM * params;
-#endif
                } sm2;
                struct {
                        uint8_t curve_id;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                        OSSL_PARAM * params;
-#endif
                } eddsa;
                struct {
                        uint8_t type;
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c 
b/drivers/crypto/openssl/rte_openssl_pmd.c
index c34efb8ad0..8748ef6195 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -19,35 +19,14 @@
 #include "openssl_pmd_private.h"
 #include "compat.h"
 
-#define DES_BLOCK_SIZE 8
-
-static uint8_t cryptodev_driver_id;
-
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-static HMAC_CTX *HMAC_CTX_new(void)
-{
-       HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx));
-
-       if (ctx != NULL)
-               HMAC_CTX_init(ctx);
-       return ctx;
-}
-
-static void HMAC_CTX_free(HMAC_CTX *ctx)
-{
-       if (ctx != NULL) {
-               HMAC_CTX_cleanup(ctx);
-               OPENSSL_free(ctx);
-       }
-}
-#endif
-
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
-
 #include <openssl/provider.h>
 #include <openssl/core_names.h>
 #include <openssl/param_build.h>
 
+#define DES_BLOCK_SIZE 8
+
+static uint8_t cryptodev_driver_id;
+
 #define MAX_OSSL_ALGO_NAME_SIZE                16
 
 OSSL_PROVIDER *legacy;
@@ -104,7 +83,6 @@ digest_name_get(enum rte_crypto_auth_algorithm algo)
                return NULL;
        }
 }
-#endif
 
 static int cryptodev_openssl_remove(struct rte_vdev_device *vdev);
 
@@ -306,14 +284,12 @@ get_auth_algo(enum rte_crypto_auth_algorithm sessalgo,
                case RTE_CRYPTO_AUTH_SHA3_512_HMAC:
                        *algo = EVP_sha3_512();
                        break;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                case RTE_CRYPTO_AUTH_SHAKE_128:
                        *algo = EVP_shake128();
                        break;
                case RTE_CRYPTO_AUTH_SHAKE_256:
                        *algo = EVP_shake256();
                        break;
-#endif
                default:
                        res = -EINVAL;
                        break;
@@ -659,12 +635,10 @@ static int
 openssl_set_session_auth_parameters(struct openssl_session *sess,
                const struct rte_crypto_sym_xform *xform)
 {
-# if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        char algo_name[MAX_OSSL_ALGO_NAME_SIZE];
        OSSL_PARAM params[2];
        const char *algo;
        EVP_MAC *mac;
-# endif
        /* Select auth generate/verify */
        sess->auth.operation = xform->auth.op;
        sess->auth.algo = xform->auth.algo;
@@ -708,10 +682,8 @@ openssl_set_session_auth_parameters(struct openssl_session 
*sess,
        case RTE_CRYPTO_AUTH_SHA3_256:
        case RTE_CRYPTO_AUTH_SHA3_384:
        case RTE_CRYPTO_AUTH_SHA3_512:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        case RTE_CRYPTO_AUTH_SHAKE_128:
        case RTE_CRYPTO_AUTH_SHAKE_256:
-#endif
                sess->auth.mode = OPENSSL_AUTH_AS_AUTH;
                if (get_auth_algo(xform->auth.algo,
                                &sess->auth.auth.evp_algo) != 0)
@@ -720,7 +692,6 @@ openssl_set_session_auth_parameters(struct openssl_session 
*sess,
                break;
 
        case RTE_CRYPTO_AUTH_AES_CMAC:
-# if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                if (xform->auth.key.length == 16)
                        algo = SN_aes_128_cbc;
                else if (xform->auth.key.length == 24)
@@ -745,22 +716,8 @@ openssl_set_session_auth_parameters(struct openssl_session 
*sess,
                                xform->auth.key.length,
                                params) != 1)
                        return -EINVAL;
-# else
-               sess->auth.mode = OPENSSL_AUTH_AS_CMAC;
-               sess->auth.cmac.ctx = CMAC_CTX_new();
-               if (get_cipher_algo(RTE_CRYPTO_CIPHER_AES_CBC,
-                                   xform->auth.key.length,
-                                   &sess->auth.cmac.evp_algo) != 0)
-                       return -EINVAL;
-               if (CMAC_Init(sess->auth.cmac.ctx,
-                             xform->auth.key.data,
-                             xform->auth.key.length,
-                             sess->auth.cmac.evp_algo, NULL) != 1)
-                       return -EINVAL;
-# endif
                break;
 
-# if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        case RTE_CRYPTO_AUTH_MD5_HMAC:
        case RTE_CRYPTO_AUTH_SHA1_HMAC:
        case RTE_CRYPTO_AUTH_SHA224_HMAC:
@@ -794,30 +751,6 @@ openssl_set_session_auth_parameters(struct openssl_session 
*sess,
                                params) != 1)
                        return -EINVAL;
                break;
-# else
-       case RTE_CRYPTO_AUTH_MD5_HMAC:
-       case RTE_CRYPTO_AUTH_SHA1_HMAC:
-       case RTE_CRYPTO_AUTH_SHA224_HMAC:
-       case RTE_CRYPTO_AUTH_SHA256_HMAC:
-       case RTE_CRYPTO_AUTH_SHA384_HMAC:
-       case RTE_CRYPTO_AUTH_SHA512_HMAC:
-       case RTE_CRYPTO_AUTH_SHA3_224_HMAC:
-       case RTE_CRYPTO_AUTH_SHA3_256_HMAC:
-       case RTE_CRYPTO_AUTH_SHA3_384_HMAC:
-       case RTE_CRYPTO_AUTH_SHA3_512_HMAC:
-               sess->auth.mode = OPENSSL_AUTH_AS_HMAC;
-               sess->auth.hmac.ctx = HMAC_CTX_new();
-               if (get_auth_algo(xform->auth.algo,
-                               &sess->auth.hmac.evp_algo) != 0)
-                       return -EINVAL;
-
-               if (HMAC_Init_ex(sess->auth.hmac.ctx,
-                               xform->auth.key.data,
-                               xform->auth.key.length,
-                               sess->auth.hmac.evp_algo, NULL) != 1)
-                       return -EINVAL;
-               break;
-# endif
        default:
                return -ENOTSUP;
        }
@@ -1295,10 +1228,6 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf 
*mbuf_src, int offset,
                uint8_t *dst, uint8_t *tag, EVP_CIPHER_CTX *ctx)
 {
        int len = 0;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       int unused = 0;
-       uint8_t empty[] = {};
-#endif
 
        if (EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv) <= 0)
                goto process_auth_encryption_gcm_err;
@@ -1312,12 +1241,6 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf 
*mbuf_src, int offset,
                                srclen, ctx, 0))
                        goto process_auth_encryption_gcm_err;
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       /* Workaround open ssl bug in version less then 1.0.1f */
-       if (EVP_EncryptUpdate(ctx, empty, &unused, empty, 0) <= 0)
-               goto process_auth_encryption_gcm_err;
-#endif
-
        if (EVP_EncryptFinal_ex(ctx, dst, &len) <= 0)
                goto process_auth_encryption_gcm_err;
 
@@ -1379,10 +1302,6 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf 
*mbuf_src, int offset,
                uint8_t *dst, uint8_t *tag, EVP_CIPHER_CTX *ctx)
 {
        int len = 0;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       int unused = 0;
-       uint8_t empty[] = {};
-#endif
 
        if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, 16, tag) <= 0)
                goto process_auth_decryption_gcm_err;
@@ -1399,12 +1318,6 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf 
*mbuf_src, int offset,
                                srclen, ctx, 0))
                        goto process_auth_decryption_gcm_err;
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       /* Workaround open ssl bug in version less then 1.0.1f */
-       if (EVP_DecryptUpdate(ctx, empty, &unused, empty, 0) <= 0)
-               goto process_auth_decryption_gcm_err;
-#endif
-
        if (EVP_DecryptFinal_ex(ctx, dst, &len) <= 0)
                return -EFAULT;
 
@@ -1500,17 +1413,11 @@ process_openssl_auth(struct rte_mbuf *mbuf_src, uint8_t 
*dst, int offset,
 process_auth_final:
        /* SHAKE algorithms are XOFs and require EVP_DigestFinalXOF */
        if (algo == EVP_shake128() || algo == EVP_shake256()) {
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                /* Set XOF output length before calling EVP_DigestFinalXOF */
                if (EVP_MD_CTX_ctrl(ctx, EVP_MD_CTRL_XOF_LEN, digest_length, 
NULL) <= 0)
                        goto process_auth_err;
                if (EVP_DigestFinalXOF(ctx, dst, digest_length) <= 0)
                        goto process_auth_err;
-#else
-               RTE_SET_USED(digest_length);
-               OPENSSL_LOG(ERR, "SHAKE algorithms require OpenSSL 3.0+");
-               goto process_auth_err;
-#endif
        } else {
                if (EVP_DigestFinal_ex(ctx, dst, (unsigned int *)&dstlen) <= 0)
                        goto process_auth_err;
@@ -1523,7 +1430,6 @@ process_openssl_auth(struct rte_mbuf *mbuf_src, uint8_t 
*dst, int offset,
        return -EINVAL;
 }
 
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
 /** Process standard openssl auth algorithms with hmac/cmac */
 static int
 process_openssl_auth_mac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,
@@ -1576,109 +1482,6 @@ process_openssl_auth_mac(struct rte_mbuf *mbuf_src, 
uint8_t *dst, int offset,
        OPENSSL_LOG(ERR, "Process openssl auth failed");
        return -EINVAL;
 }
-# else
-/** Process standard openssl auth algorithms with hmac */
-static int
-process_openssl_auth_hmac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,
-               int srclen, HMAC_CTX *ctx)
-{
-       unsigned int dstlen;
-       struct rte_mbuf *m;
-       int l, n = srclen;
-       uint8_t *src;
-
-       for (m = mbuf_src; m != NULL && offset > rte_pktmbuf_data_len(m);
-                       m = m->next)
-               offset -= rte_pktmbuf_data_len(m);
-
-       if (m == 0)
-               goto process_auth_err;
-
-       src = rte_pktmbuf_mtod_offset(m, uint8_t *, offset);
-
-       l = rte_pktmbuf_data_len(m) - offset;
-       if (srclen <= l) {
-               if (HMAC_Update(ctx, (unsigned char *)src, srclen) != 1)
-                       goto process_auth_err;
-               goto process_auth_final;
-       }
-
-       if (HMAC_Update(ctx, (unsigned char *)src, l) != 1)
-               goto process_auth_err;
-
-       n -= l;
-
-       for (m = m->next; (m != NULL) && (n > 0); m = m->next) {
-               src = rte_pktmbuf_mtod(m, uint8_t *);
-               l = rte_pktmbuf_data_len(m) < n ? rte_pktmbuf_data_len(m) : n;
-               if (HMAC_Update(ctx, (unsigned char *)src, l) != 1)
-                       goto process_auth_err;
-               n -= l;
-       }
-
-process_auth_final:
-       if (HMAC_Final(ctx, dst, &dstlen) != 1)
-               goto process_auth_err;
-
-       if (unlikely(HMAC_Init_ex(ctx, NULL, 0, NULL, NULL) != 1))
-               goto process_auth_err;
-
-       return 0;
-
-process_auth_err:
-       OPENSSL_LOG(ERR, "Process openssl auth failed");
-       return -EINVAL;
-}
-
-/** Process standard openssl auth algorithms with cmac */
-static int
-process_openssl_auth_cmac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,
-               int srclen, CMAC_CTX *ctx)
-{
-       unsigned int dstlen;
-       struct rte_mbuf *m;
-       int l, n = srclen;
-       uint8_t *src;
-
-       for (m = mbuf_src; m != NULL && offset > rte_pktmbuf_data_len(m);
-                       m = m->next)
-               offset -= rte_pktmbuf_data_len(m);
-
-       if (m == 0)
-               goto process_auth_err;
-
-       src = rte_pktmbuf_mtod_offset(m, uint8_t *, offset);
-
-       l = rte_pktmbuf_data_len(m) - offset;
-       if (srclen <= l) {
-               if (CMAC_Update(ctx, (unsigned char *)src, srclen) != 1)
-                       goto process_auth_err;
-               goto process_auth_final;
-       }
-
-       if (CMAC_Update(ctx, (unsigned char *)src, l) != 1)
-               goto process_auth_err;
-
-       n -= l;
-
-       for (m = m->next; (m != NULL) && (n > 0); m = m->next) {
-               src = rte_pktmbuf_mtod(m, uint8_t *);
-               l = rte_pktmbuf_data_len(m) < n ? rte_pktmbuf_data_len(m) : n;
-               if (CMAC_Update(ctx, (unsigned char *)src, l) != 1)
-                       goto process_auth_err;
-               n -= l;
-       }
-
-process_auth_final:
-       if (CMAC_Final(ctx, dst, (size_t *)&dstlen) != 1)
-               goto process_auth_err;
-       return 0;
-
-process_auth_err:
-       OPENSSL_LOG(ERR, "Process openssl cmac auth failed");
-       return -EINVAL;
-}
-# endif
 
/*----------------------------------------------------------------------------*/
 
 static inline EVP_CIPHER_CTX *
@@ -1695,7 +1498,7 @@ get_local_cipher_ctx(struct openssl_session *sess, struct 
openssl_qp *qp)
                /* EVP_CIPHER_CTX_dup() added in OSSL 3.2 */
                *lctx = EVP_CIPHER_CTX_dup(sess->cipher.ctx);
                return *lctx;
-#elif OPENSSL_VERSION_NUMBER >= 0x30000000L
+#else
                if (sess->chain_order == OPENSSL_CHAIN_COMBINED) {
                        /* AESNI special-cased to use openssl_aesni_ctx_clone()
                         * to allow for working around lack of
@@ -1706,10 +1509,10 @@ get_local_cipher_ctx(struct openssl_session *sess, 
struct openssl_qp *qp)
                                *lctx = NULL;
                        return *lctx;
                }
-#endif
 
                *lctx = EVP_CIPHER_CTX_new();
                EVP_CIPHER_CTX_copy(*lctx, sess->cipher.ctx);
+#endif
        }
 
        return *lctx;
@@ -1737,11 +1540,7 @@ get_local_auth_ctx(struct openssl_session *sess, struct 
openssl_qp *qp)
        return *lctx;
 }
 
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
 static inline EVP_MAC_CTX *
-#else
-static inline HMAC_CTX *
-#endif
 get_local_hmac_ctx(struct openssl_session *sess, struct openssl_qp *qp)
 {
 #if (OPENSSL_VERSION_NUMBER >= 0x30000000L && OPENSSL_VERSION_NUMBER < 
0x30003000L)
@@ -1759,31 +1558,16 @@ get_local_hmac_ctx(struct openssl_session *sess, struct 
openssl_qp *qp)
        if (sess->ctx_copies_len == 0)
                return sess->auth.hmac.ctx;
 
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-       EVP_MAC_CTX **lctx =
-#else
-       HMAC_CTX **lctx =
-#endif
-               &sess->qp_ctx[qp->id].hmac;
+       EVP_MAC_CTX **lctx = &sess->qp_ctx[qp->id].hmac;
 
-       if (unlikely(*lctx == NULL)) {
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+       if (unlikely(*lctx == NULL))
                *lctx = EVP_MAC_CTX_dup(sess->auth.hmac.ctx);
-#else
-               *lctx = HMAC_CTX_new();
-               HMAC_CTX_copy(*lctx, sess->auth.hmac.ctx);
-#endif
-       }
 
        return *lctx;
 #endif
 }
 
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
 static inline EVP_MAC_CTX *
-#else
-static inline CMAC_CTX *
-#endif
 get_local_cmac_ctx(struct openssl_session *sess, struct openssl_qp *qp)
 {
 #if (OPENSSL_VERSION_NUMBER >= 0x30000000L && OPENSSL_VERSION_NUMBER < 
0x30003000L)
@@ -1801,21 +1585,10 @@ get_local_cmac_ctx(struct openssl_session *sess, struct 
openssl_qp *qp)
        if (sess->ctx_copies_len == 0)
                return sess->auth.cmac.ctx;
 
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-       EVP_MAC_CTX **lctx =
-#else
-       CMAC_CTX **lctx =
-#endif
-               &sess->qp_ctx[qp->id].cmac;
+       EVP_MAC_CTX **lctx = &sess->qp_ctx[qp->id].cmac;
 
-       if (unlikely(*lctx == NULL)) {
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+       if (unlikely(*lctx == NULL))
                *lctx = EVP_MAC_CTX_dup(sess->auth.cmac.ctx);
-#else
-               *lctx = CMAC_CTX_new();
-               CMAC_CTX_copy(*lctx, sess->auth.cmac.ctx);
-#endif
-       }
 
        return *lctx;
 #endif
@@ -2055,13 +1828,8 @@ process_openssl_auth_op(struct openssl_qp *qp, struct 
rte_crypto_op *op,
        uint8_t *dst;
        int srclen, status;
        EVP_MD_CTX *ctx_a;
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
        EVP_MAC_CTX *ctx_h;
        EVP_MAC_CTX *ctx_c;
-# else
-       HMAC_CTX *ctx_h;
-       CMAC_CTX *ctx_c;
-# endif
 
        srclen = op->sym->auth.data.length;
 
@@ -2076,30 +1844,18 @@ process_openssl_auth_op(struct openssl_qp *qp, struct 
rte_crypto_op *op,
                break;
        case OPENSSL_AUTH_AS_HMAC:
                ctx_h = get_local_hmac_ctx(sess, qp);
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
                status = process_openssl_auth_mac(mbuf_src, dst,
                                op->sym->auth.data.offset, srclen,
                                ctx_h);
-# else
-               status = process_openssl_auth_hmac(mbuf_src, dst,
-                               op->sym->auth.data.offset, srclen,
-                               ctx_h);
-# endif
 #if (OPENSSL_VERSION_NUMBER >= 0x30000000L && OPENSSL_VERSION_NUMBER < 
0x30003000L)
                EVP_MAC_CTX_free(ctx_h);
 #endif
                break;
        case OPENSSL_AUTH_AS_CMAC:
                ctx_c = get_local_cmac_ctx(sess, qp);
-# if OPENSSL_VERSION_NUMBER >= 0x30000000L
                status = process_openssl_auth_mac(mbuf_src, dst,
                                op->sym->auth.data.offset, srclen,
                                ctx_c);
-# else
-               status = process_openssl_auth_cmac(mbuf_src, dst,
-                               op->sym->auth.data.offset, srclen,
-                               ctx_c);
-# endif
 #if (OPENSSL_VERSION_NUMBER >= 0x30000000L && OPENSSL_VERSION_NUMBER < 
0x30003000L)
                EVP_MAC_CTX_free(ctx_c);
 #endif
@@ -2130,7 +1886,6 @@ process_openssl_auth_op(struct openssl_qp *qp, struct 
rte_crypto_op *op,
 }
 
 /* process dsa sign operation */
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 static int
 process_openssl_dsa_sign_op_evp(struct rte_crypto_op *cop,
                struct openssl_asym_session *sess)
@@ -2296,92 +2051,8 @@ process_openssl_dsa_verify_op_evp(struct rte_crypto_op 
*cop,
 
        return ret;
 }
-#else
-static int
-process_openssl_dsa_sign_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       struct rte_crypto_dsa_op_param *op = &cop->asym->dsa;
-       DSA *dsa = sess->u.s.dsa;
-       DSA_SIG *sign = NULL;
-
-       sign = DSA_do_sign(op->message.data,
-                       op->message.length,
-                       dsa);
-
-       if (sign == NULL) {
-               OPENSSL_LOG(ERR, "%s:%d", __func__, __LINE__);
-               cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-       } else {
-               const BIGNUM *r = NULL, *s = NULL;
-               get_dsa_sign(sign, &r, &s);
-
-               op->r.length = BN_bn2bin(r, op->r.data);
-               op->s.length = BN_bn2bin(s, op->s.data);
-               cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
-       }
-
-       DSA_SIG_free(sign);
-
-       return 0;
-}
-
-/* process dsa verify operation */
-static int
-process_openssl_dsa_verify_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       struct rte_crypto_dsa_op_param *op = &cop->asym->dsa;
-       DSA *dsa = sess->u.s.dsa;
-       int ret;
-       DSA_SIG *sign = DSA_SIG_new();
-       BIGNUM *r = NULL, *s = NULL;
-       BIGNUM *pub_key = NULL;
-
-       if (sign == NULL) {
-               OPENSSL_LOG(ERR, " %s:%d", __func__, __LINE__);
-               cop->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
-               return -1;
-       }
-
-       r = BN_bin2bn(op->r.data,
-                       op->r.length,
-                       r);
-       s = BN_bin2bn(op->s.data,
-                       op->s.length,
-                       s);
-       pub_key = BN_bin2bn(op->y.data,
-                       op->y.length,
-                       pub_key);
-       if (!r || !s || !pub_key) {
-               BN_free(r);
-               BN_free(s);
-               BN_free(pub_key);
-
-               cop->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
-               return -1;
-       }
-       set_dsa_sign(sign, r, s);
-       set_dsa_pub_key(dsa, pub_key);
-
-       ret = DSA_do_verify(op->message.data,
-                       op->message.length,
-                       sign,
-                       dsa);
-
-       if (ret != 1)
-               cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-       else
-               cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
-
-       DSA_SIG_free(sign);
-
-       return 0;
-}
-#endif
 
 /* process dh operation */
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 static int
 process_openssl_dh_op_evp(struct rte_crypto_op *cop,
                struct openssl_asym_session *sess)
@@ -2555,141 +2226,6 @@ process_openssl_dh_op_evp(struct rte_crypto_op *cop,
 
        return ret;
 }
-#else
-static int
-process_openssl_dh_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       struct rte_crypto_dh_op_param *op = &cop->asym->dh;
-       struct rte_crypto_asym_op *asym_op = cop->asym;
-       DH *dh_key = sess->u.dh.dh_key;
-       BIGNUM *priv_key = NULL;
-       int ret = 0;
-
-       if (asym_op->dh.ke_type == RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE) {
-               /* compute shared secret using peer public key
-                * and current private key
-                * shared secret = peer_key ^ priv_key mod p
-                */
-               BIGNUM *peer_key = NULL;
-
-               /* copy private key and peer key and compute shared secret */
-               peer_key = BN_bin2bn(op->pub_key.data,
-                               op->pub_key.length,
-                               peer_key);
-               if (peer_key == NULL) {
-                       cop->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
-                       return -1;
-               }
-               priv_key = BN_bin2bn(op->priv_key.data,
-                               op->priv_key.length,
-                               priv_key);
-               if (priv_key == NULL) {
-                       BN_free(peer_key);
-                       cop->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
-                       return -1;
-               }
-               ret = set_dh_priv_key(dh_key, priv_key);
-               if (ret) {
-                       OPENSSL_LOG(ERR, "Failed to set private key");
-                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-                       BN_free(peer_key);
-                       BN_free(priv_key);
-                       return 0;
-               }
-
-               ret = DH_compute_key(
-                               op->shared_secret.data,
-                               peer_key, dh_key);
-               if (ret < 0) {
-                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-                       BN_free(peer_key);
-                       /* priv key is already loaded into dh,
-                        * let's not free that directly here.
-                        * DH_free() will auto free it later.
-                        */
-                       return 0;
-               }
-               cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
-               op->shared_secret.length = ret;
-               BN_free(peer_key);
-               return 0;
-       }
-
-       /*
-        * other options are public and private key generations.
-        *
-        * if user provides private key,
-        * then first set DH with user provided private key
-        */
-       if (asym_op->dh.ke_type == RTE_CRYPTO_ASYM_KE_PUB_KEY_GENERATE &&
-                       op->priv_key.length) {
-               /* generate public key using user-provided private key
-                * pub_key = g ^ priv_key mod p
-                */
-
-               /* load private key into DH */
-               priv_key = BN_bin2bn(op->priv_key.data,
-                               op->priv_key.length,
-                               priv_key);
-               if (priv_key == NULL) {
-                       cop->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
-                       return -1;
-               }
-               ret = set_dh_priv_key(dh_key, priv_key);
-               if (ret) {
-                       OPENSSL_LOG(ERR, "Failed to set private key");
-                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-                       BN_free(priv_key);
-                       return 0;
-               }
-       }
-
-       /* generate public and private key pair.
-        *
-        * if private key already set, generates only public key.
-        *
-        * if private key is not already set, then set it to random value
-        * and update internal private key.
-        */
-       if (!DH_generate_key(dh_key)) {
-               cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-               return 0;
-       }
-
-       if (asym_op->dh.ke_type == RTE_CRYPTO_ASYM_KE_PUB_KEY_GENERATE) {
-               const BIGNUM *pub_key = NULL;
-
-               OPENSSL_LOG(DEBUG, "%s:%d update public key",
-                               __func__, __LINE__);
-
-               /* get the generated keys */
-               get_dh_pub_key(dh_key, &pub_key);
-
-               /* output public key */
-               op->pub_key.length = BN_bn2bin(pub_key,
-                               op->pub_key.data);
-       }
-
-       if (asym_op->dh.ke_type == RTE_CRYPTO_ASYM_KE_PRIV_KEY_GENERATE) {
-               const BIGNUM *priv_key = NULL;
-
-               OPENSSL_LOG(DEBUG, "%s:%d updated priv key",
-                               __func__, __LINE__);
-
-               /* get the generated keys */
-               get_dh_priv_key(dh_key, &priv_key);
-
-               /* provide generated private key back to user */
-               op->priv_key.length = BN_bn2bin(priv_key,
-                               op->priv_key.data);
-       }
-
-       cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
-
-       return 0;
-}
-#endif
 
 /* process modinv operation */
 static int
@@ -2757,7 +2293,6 @@ process_openssl_modexp_op(struct rte_crypto_op *cop,
 }
 
 /* process rsa operations */
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 static int
 process_openssl_rsa_op_evp(struct rte_crypto_op *cop,
                struct openssl_asym_session *sess)
@@ -3333,133 +2868,7 @@ process_openssl_eddsa_op_evp(struct rte_crypto_op *cop,
        return ret;
 }
 
-#else
-static int
-process_openssl_rsa_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       int ret = 0;
-       struct rte_crypto_asym_op *op = cop->asym;
-       RSA *rsa = sess->u.r.rsa;
-       uint32_t pad = sess->u.r.pad;
-       uint8_t *tmp;
 
-       cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
-
-       switch (pad) {
-       case RTE_CRYPTO_RSA_PADDING_PKCS1_5:
-               pad = RSA_PKCS1_PADDING;
-               break;
-       case RTE_CRYPTO_RSA_PADDING_NONE:
-               pad = RSA_NO_PADDING;
-               break;
-       default:
-               cop->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
-               OPENSSL_LOG(ERR,
-                               "rsa pad type not supported %d", pad);
-               return 0;
-       }
-
-       switch (op->rsa.op_type) {
-       case RTE_CRYPTO_ASYM_OP_ENCRYPT:
-               ret = RSA_public_encrypt(op->rsa.message.length,
-                               op->rsa.message.data,
-                               op->rsa.cipher.data,
-                               rsa,
-                               pad);
-
-               if (ret > 0)
-                       op->rsa.cipher.length = ret;
-               OPENSSL_LOG(DEBUG,
-                               "length of encrypted text %d", ret);
-               break;
-
-       case RTE_CRYPTO_ASYM_OP_DECRYPT:
-               ret = RSA_private_decrypt(op->rsa.cipher.length,
-                               op->rsa.cipher.data,
-                               op->rsa.message.data,
-                               rsa,
-                               pad);
-               if (ret > 0)
-                       op->rsa.message.length = ret;
-               break;
-
-       case RTE_CRYPTO_ASYM_OP_SIGN:
-               ret = RSA_private_encrypt(op->rsa.message.length,
-                               op->rsa.message.data,
-                               op->rsa.sign.data,
-                               rsa,
-                               pad);
-               if (ret > 0)
-                       op->rsa.sign.length = ret;
-               break;
-
-       case RTE_CRYPTO_ASYM_OP_VERIFY:
-               tmp = rte_malloc(NULL, op->rsa.sign.length, 0);
-               if (tmp == NULL) {
-                       OPENSSL_LOG(ERR, "Memory allocation failed");
-                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-                       break;
-               }
-               ret = RSA_public_decrypt(op->rsa.sign.length,
-                               op->rsa.sign.data,
-                               tmp,
-                               rsa,
-                               pad);
-
-               OPENSSL_LOG(DEBUG,
-                               "Length of public_decrypt %d "
-                               "length of message %zd",
-                               ret, op->rsa.message.length);
-               if ((ret <= 0) || (CRYPTO_memcmp(tmp, op->rsa.message.data,
-                               op->rsa.message.length))) {
-                       OPENSSL_LOG(ERR, "RSA sign Verification failed");
-                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-               }
-               rte_free(tmp);
-               break;
-
-       default:
-               /* allow ops with invalid args to be pushed to
-                * completion queue
-                */
-               cop->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
-               break;
-       }
-
-       if (ret < 0)
-               cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
-
-       return 0;
-}
-
-static int
-process_openssl_ecfpm_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       RTE_SET_USED(cop);
-       RTE_SET_USED(sess);
-       return -ENOTSUP;
-}
-
-static int
-process_openssl_sm2_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       RTE_SET_USED(cop);
-       RTE_SET_USED(sess);
-       return -ENOTSUP;
-}
-
-static int
-process_openssl_eddsa_op(struct rte_crypto_op *cop,
-               struct openssl_asym_session *sess)
-{
-       RTE_SET_USED(cop);
-       RTE_SET_USED(sess);
-       return -ENOTSUP;
-}
-#endif
 
 #if (OPENSSL_VERSION_NUMBER >= 0x30500000L)
 static int
@@ -4085,14 +3494,12 @@ mldsa_sign_op_evp(struct rte_crypto_op *cop,
        case RTE_CRYPTO_AUTH_SHA3_512:
                check_md = EVP_sha3_512();
                break;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        case RTE_CRYPTO_AUTH_SHAKE_128:
                check_md = EVP_shake128();
                break;
        case RTE_CRYPTO_AUTH_SHAKE_256:
                check_md = EVP_shake256();
                break;
-#endif
        default:
                break;
        }
@@ -4328,11 +3735,7 @@ process_asym_op(struct openssl_qp *qp, struct 
rte_crypto_op *op,
 
        switch (sess->xfrm_type) {
        case RTE_CRYPTO_ASYM_XFORM_RSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                retval = process_openssl_rsa_op_evp(op, sess);
-# else
-               retval = process_openssl_rsa_op(op, sess);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_MODEX:
                retval = process_openssl_modexp_op(op, sess);
@@ -4341,51 +3744,26 @@ process_asym_op(struct openssl_qp *qp, struct 
rte_crypto_op *op,
                retval = process_openssl_modinv_op(op, sess);
                break;
        case RTE_CRYPTO_ASYM_XFORM_DH:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                retval = process_openssl_dh_op_evp(op, sess);
-# else
-               retval = process_openssl_dh_op(op, sess);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_DSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                if (op->asym->dsa.op_type == RTE_CRYPTO_ASYM_OP_SIGN)
                        retval = process_openssl_dsa_sign_op_evp(op, sess);
                else if (op->asym->dsa.op_type ==
                                RTE_CRYPTO_ASYM_OP_VERIFY)
                        retval =
                                process_openssl_dsa_verify_op_evp(op, sess);
-#else
-               if (op->asym->dsa.op_type == RTE_CRYPTO_ASYM_OP_SIGN)
-                       retval = process_openssl_dsa_sign_op(op, sess);
-               else if (op->asym->dsa.op_type ==
-                               RTE_CRYPTO_ASYM_OP_VERIFY)
-                       retval =
-                               process_openssl_dsa_verify_op(op, sess);
                else
                        op->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_ECFPM:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                retval = process_openssl_ecfpm_op_evp(op, sess);
-#else
-               retval = process_openssl_ecfpm_op(op, sess);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_SM2:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                retval = process_openssl_sm2_op_evp(op, sess);
-#else
-               retval = process_openssl_sm2_op(op, sess);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_EDDSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                retval = process_openssl_eddsa_op_evp(op, sess);
-#else
-               retval = process_openssl_eddsa_op(op, sess);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_ML_KEM:
 #if (OPENSSL_VERSION_NUMBER >= 0x30500000L)
@@ -4590,13 +3968,12 @@ cryptodev_openssl_create(const char *name,
 
        rte_cryptodev_pmd_probing_finish(dev);
 
-# if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        /* Load legacy provider
         * Some algorithms are no longer available in earlier version of 
openssl,
         * unless the legacy provider explicitly loaded. e.g. DES
         */
        ossl_legacy_provider_load();
-# endif
+
        return 0;
 
 init_error:
@@ -4645,9 +4022,8 @@ cryptodev_openssl_remove(struct rte_vdev_device *vdev)
        if (cryptodev == NULL)
                return -ENODEV;
 
-# if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        ossl_legacy_provider_unload();
-# endif
+
        return rte_cryptodev_pmd_destroy(cryptodev);
 }
 
diff --git a/drivers/crypto/openssl/rte_openssl_pmd_ops.c 
b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
index 4e5fb07bb2..d927cc5228 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd_ops.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
@@ -10,11 +10,9 @@
 
 #include "openssl_pmd_private.h"
 #include "compat.h"
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 #include <openssl/provider.h>
 #include <openssl/core_names.h>
 #include <openssl/param_build.h>
-#endif
 
 static const struct rte_cryptodev_capabilities openssl_pmd_capabilities[] = {
        {       /* MD5 HMAC */
@@ -457,7 +455,6 @@ static const struct rte_cryptodev_capabilities 
openssl_pmd_capabilities[] = {
                        }, }
                }, }
        },
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
        {   /* SHAKE_128 */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -500,7 +497,6 @@ static const struct rte_cryptodev_capabilities 
openssl_pmd_capabilities[] = {
                        }, }
                }, }
        },
-#endif
        {       /* AES CBC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -1222,7 +1218,6 @@ static int openssl_set_asym_session_parameters(
                        goto err_rsa;
 
                asym_session->u.r.pad = xform->rsa.padding.type;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                OSSL_PARAM_BLD * param_bld = OSSL_PARAM_BLD_new();
                if (!param_bld) {
                        OPENSSL_LOG(ERR, "failed to allocate resources");
@@ -1323,79 +1318,7 @@ static int openssl_set_asym_session_parameters(
                OSSL_PARAM_BLD_free(param_bld);
                OSSL_PARAM_free(params);
                ret = 0;
-#else
-               RSA *rsa = RSA_new();
-               if (rsa == NULL)
-                       goto err_rsa;
-
-               if (xform->rsa.d.length > 0) {
-                       d = BN_bin2bn(
-                       (const unsigned char *)xform->rsa.d.data,
-                       xform->rsa.d.length,
-                       d);
-                       if (!d) {
-                               RSA_free(rsa);
-                               goto err_rsa;
-                       }
-               }
-
-               if (xform->rsa.key_type == RTE_RSA_KEY_TYPE_QT) {
-                       p = BN_bin2bn((const unsigned char *)
-                                       xform->rsa.qt.p.data,
-                                       xform->rsa.qt.p.length,
-                                       p);
-                       q = BN_bin2bn((const unsigned char *)
-                                       xform->rsa.qt.q.data,
-                                       xform->rsa.qt.q.length,
-                                       q);
-                       dmp1 = BN_bin2bn((const unsigned char *)
-                                       xform->rsa.qt.dP.data,
-                                       xform->rsa.qt.dP.length,
-                                       dmp1);
-                       dmq1 = BN_bin2bn((const unsigned char *)
-                                       xform->rsa.qt.dQ.data,
-                                       xform->rsa.qt.dQ.length,
-                                       dmq1);
-                       iqmp = BN_bin2bn((const unsigned char *)
-                                       xform->rsa.qt.qInv.data,
-                                       xform->rsa.qt.qInv.length,
-                                       iqmp);
 
-                       if (!p || !q || !dmp1 || !dmq1 || !iqmp) {
-                               RSA_free(rsa);
-                               goto err_rsa;
-                       }
-                       ret = set_rsa_params(rsa, p, q);
-                       if (ret) {
-                               OPENSSL_LOG(ERR,
-                                       "failed to set rsa params");
-                               RSA_free(rsa);
-                               goto err_rsa;
-                       }
-                       ret = set_rsa_crt_params(rsa, dmp1, dmq1, iqmp);
-                       if (ret) {
-                               OPENSSL_LOG(ERR,
-                                       "failed to set crt params");
-                               RSA_free(rsa);
-                               /*
-                                * set already populated params to NULL
-                                * as its freed by call to RSA_free
-                                */
-                               p = q = NULL;
-                               goto err_rsa;
-                       }
-               }
-
-               ret = set_rsa_keys(rsa, n, e, d);
-               if (ret) {
-                       OPENSSL_LOG(ERR, "Failed to load rsa keys");
-                       RSA_free(rsa);
-                       return ret;
-               }
-               asym_session->u.r.rsa = rsa;
-               asym_session->xfrm_type = RTE_CRYPTO_ASYM_XFORM_RSA;
-               break;
-#endif
 err_rsa:
                BN_clear_free(n);
                BN_clear_free(e);
@@ -1469,7 +1392,6 @@ static int openssl_set_asym_session_parameters(
        case RTE_CRYPTO_ASYM_XFORM_DH:
        {
                DH *dh = NULL;
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                BIGNUM **p = &asym_session->u.dh.p;
                BIGNUM **g = &asym_session->u.dh.g;
 
@@ -1520,51 +1442,18 @@ static int openssl_set_asym_session_parameters(
 
                asym_session->u.dh.param_bld = param_bld;
                asym_session->u.dh.param_bld_peer = param_bld_peer;
-#else
-               BIGNUM *p = NULL;
-               BIGNUM *g = NULL;
-
-               p = BN_bin2bn((const unsigned char *)
-                               xform->dh.p.data,
-                               xform->dh.p.length,
-                               p);
-               g = BN_bin2bn((const unsigned char *)
-                               xform->dh.g.data,
-                               xform->dh.g.length,
-                               g);
-               if (!p || !g)
-                       goto err_dh;
-
-               dh = DH_new();
-               if (dh == NULL) {
-                       OPENSSL_LOG(ERR,
-                               "failed to allocate resources");
-                       goto err_dh;
-               }
-               ret = set_dh_params(dh, p, g);
-               if (ret) {
-                       DH_free(dh);
-                       goto err_dh;
-               }
-#endif
                asym_session->u.dh.dh_key = dh;
                asym_session->xfrm_type = RTE_CRYPTO_ASYM_XFORM_DH;
                break;
 
 err_dh:
                OPENSSL_LOG(ERR, " failed to set dh params");
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                BN_free(*p);
                BN_free(*g);
-#else
-               BN_free(p);
-               BN_free(g);
-#endif
                return -1;
        }
        case RTE_CRYPTO_ASYM_XFORM_DSA:
        {
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                BIGNUM **p = &asym_session->u.s.p;
                BIGNUM **g = &asym_session->u.s.g;
                BIGNUM **q = &asym_session->u.s.q;
@@ -1615,85 +1504,16 @@ static int openssl_set_asym_session_parameters(
                asym_session->u.s.param_bld = param_bld;
 
                break;
-#else
-               BIGNUM *p = NULL, *g = NULL;
-               BIGNUM *q = NULL, *priv_key = NULL;
-               BIGNUM *pub_key = BN_new();
-               BN_zero(pub_key);
-
-               p = BN_bin2bn((const unsigned char *)
-                               xform->dsa.p.data,
-                               xform->dsa.p.length,
-                               p);
-
-               g = BN_bin2bn((const unsigned char *)
-                               xform->dsa.g.data,
-                               xform->dsa.g.length,
-                               g);
-
-               q = BN_bin2bn((const unsigned char *)
-                               xform->dsa.q.data,
-                               xform->dsa.q.length,
-                               q);
-               if (!p || !q || !g)
-                       goto err_dsa;
-
-               priv_key = BN_bin2bn((const unsigned char *)
-                               xform->dsa.x.data,
-                               xform->dsa.x.length,
-                               priv_key);
-               if (priv_key == NULL)
-                       goto err_dsa;
-
-               DSA *dsa = DSA_new();
-               if (dsa == NULL) {
-                       OPENSSL_LOG(ERR,
-                               " failed to allocate resources");
-                       goto err_dsa;
-               }
-
-               ret = set_dsa_params(dsa, p, q, g);
-               if (ret) {
-                       DSA_free(dsa);
-                       OPENSSL_LOG(ERR, "Failed to dsa params");
-                       goto err_dsa;
-               }
-
-               /*
-                * openssl 1.1.0 mandate that public key can't be
-                * NULL in very first call. so set a dummy pub key.
-                * to keep consistency, lets follow same approach for
-                * both versions
-                */
-               /* just set dummy public for very 1st call */
-               ret = set_dsa_keys(dsa, pub_key, priv_key);
-               if (ret) {
-                       DSA_free(dsa);
-                       OPENSSL_LOG(ERR, "Failed to set keys");
-                       goto err_dsa;
-               }
-               asym_session->u.s.dsa = dsa;
-               asym_session->xfrm_type = RTE_CRYPTO_ASYM_XFORM_DSA;
-               break;
-#endif
 err_dsa:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                BN_free(*p);
                BN_free(*q);
                BN_free(*g);
                BN_free(*priv_key);
-#else
-               BN_free(p);
-               BN_free(q);
-               BN_free(g);
-               BN_free(priv_key);
-#endif
                BN_free(pub_key);
                return -1;
        }
        case RTE_CRYPTO_ASYM_XFORM_ECFPM:
        {
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                EC_GROUP *ecgrp = NULL;
 
                asym_session->xfrm_type = xform->xform_type;
@@ -1727,14 +1547,9 @@ static int openssl_set_asym_session_parameters(
                asym_session->u.ec.curve_id = xform->ec.curve_id;
                asym_session->u.ec.group = ecgrp;
                break;
-#else
-               OPENSSL_LOG(WARNING, "ECFPM unsupported for OpenSSL Version < 
3.0");
-               return -ENOTSUP;
-#endif
        }
        case RTE_CRYPTO_ASYM_XFORM_SM2:
        {
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
 #ifndef OPENSSL_NO_SM2
                OSSL_PARAM_BLD *param_bld = NULL;
                OSSL_PARAM *params = NULL;
@@ -1818,10 +1633,6 @@ static int openssl_set_asym_session_parameters(
 #else
                OPENSSL_LOG(WARNING, "SM2 unsupported in current OpenSSL 
Version");
                return -ENOTSUP;
-#endif
-#else
-               OPENSSL_LOG(WARNING, "SM2 unsupported for OpenSSL Version < 
3.0");
-               return -ENOTSUP;
 #endif
        }
        case RTE_CRYPTO_ASYM_XFORM_EDDSA:
@@ -1983,12 +1794,7 @@ static void openssl_reset_asym_session(struct 
openssl_asym_session *sess)
 {
        switch (sess->xfrm_type) {
        case RTE_CRYPTO_ASYM_XFORM_RSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                EVP_PKEY_CTX_free(sess->u.r.ctx);
-#else
-               if (sess->u.r.rsa)
-                       RSA_free(sess->u.r.rsa);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_MODEX:
                if (sess->u.e.ctx) {
@@ -2003,35 +1809,23 @@ static void openssl_reset_asym_session(struct 
openssl_asym_session *sess)
                }
                break;
        case RTE_CRYPTO_ASYM_XFORM_DH:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                OSSL_PARAM_BLD_free(sess->u.dh.param_bld);
                OSSL_PARAM_BLD_free(sess->u.dh.param_bld_peer);
                sess->u.dh.param_bld = NULL;
                sess->u.dh.param_bld_peer = NULL;
-#else
-               if (sess->u.dh.dh_key)
-                       DH_free(sess->u.dh.dh_key);
-#endif
                BN_clear_free(sess->u.dh.p);
                BN_clear_free(sess->u.dh.g);
                break;
        case RTE_CRYPTO_ASYM_XFORM_DSA:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                OSSL_PARAM_BLD_free(sess->u.s.param_bld);
                sess->u.s.param_bld = NULL;
                BN_clear_free(sess->u.s.p);
                BN_clear_free(sess->u.s.q);
                BN_clear_free(sess->u.s.g);
                BN_clear_free(sess->u.s.priv_key);
-#else
-               if (sess->u.s.dsa)
-                       DSA_free(sess->u.s.dsa);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_SM2:
-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
                OSSL_PARAM_free(sess->u.sm2.params);
-#endif
                break;
        case RTE_CRYPTO_ASYM_XFORM_EDDSA:
 #if (OPENSSL_VERSION_NUMBER >= 0x30300000L)
-- 
2.43.0


Reply via email to