From: Gagandeep Singh <g.si...@nxp.com>

add DES-CBC support and enable available cipher-only
test cases.

Signed-off-by: Gagandeep Singh <g.si...@nxp.com>
---
 doc/guides/cryptodevs/features/dpaa_sec.ini |  1 +
 drivers/crypto/dpaa_sec/dpaa_sec.c          | 13 +++++++++++++
 drivers/crypto/dpaa_sec/dpaa_sec.h          | 20 ++++++++++++++++++++
 3 files changed, 34 insertions(+)

diff --git a/doc/guides/cryptodevs/features/dpaa_sec.ini 
b/doc/guides/cryptodevs/features/dpaa_sec.ini
index 243f3e1d67..5d0d04d601 100644
--- a/doc/guides/cryptodevs/features/dpaa_sec.ini
+++ b/doc/guides/cryptodevs/features/dpaa_sec.ini
@@ -24,6 +24,7 @@ AES CBC (256) = Y
 AES CTR (128) = Y
 AES CTR (192) = Y
 AES CTR (256) = Y
+DES CBC       = Y
 3DES CBC      = Y
 SNOW3G UEA2   = Y
 ZUC EEA3      = Y
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c 
b/drivers/crypto/dpaa_sec/dpaa_sec.c
index 7534f80195..0a58f4e917 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -451,6 +451,7 @@ dpaa_sec_prep_cdb(dpaa_sec_session *ses)
                switch (ses->cipher_alg) {
                case RTE_CRYPTO_CIPHER_AES_CBC:
                case RTE_CRYPTO_CIPHER_3DES_CBC:
+               case RTE_CRYPTO_CIPHER_DES_CBC:
                case RTE_CRYPTO_CIPHER_AES_CTR:
                case RTE_CRYPTO_CIPHER_3DES_CTR:
                        shared_desc_len = cnstr_shdsc_blkcipher(
@@ -2040,6 +2041,10 @@ dpaa_sec_cipher_init(struct rte_cryptodev *dev 
__rte_unused,
                session->cipher_key.alg = OP_ALG_ALGSEL_AES;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
                break;
+       case RTE_CRYPTO_CIPHER_DES_CBC:
+               session->cipher_key.alg = OP_ALG_ALGSEL_DES;
+               session->cipher_key.algmode = OP_ALG_AAI_CBC;
+               break;
        case RTE_CRYPTO_CIPHER_3DES_CBC:
                session->cipher_key.alg = OP_ALG_ALGSEL_3DES;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
@@ -2215,6 +2220,10 @@ dpaa_sec_chain_init(struct rte_cryptodev *dev 
__rte_unused,
                session->cipher_key.alg = OP_ALG_ALGSEL_AES;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
                break;
+       case RTE_CRYPTO_CIPHER_DES_CBC:
+               session->cipher_key.alg = OP_ALG_ALGSEL_DES;
+               session->cipher_key.algmode = OP_ALG_AAI_CBC;
+               break;
        case RTE_CRYPTO_CIPHER_3DES_CBC:
                session->cipher_key.alg = OP_ALG_ALGSEL_3DES;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
@@ -2664,6 +2673,10 @@ dpaa_sec_ipsec_proto_init(struct rte_crypto_cipher_xform 
*cipher_xform,
                session->cipher_key.alg = OP_PCL_IPSEC_AES_CBC;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
                break;
+       case RTE_CRYPTO_CIPHER_DES_CBC:
+               session->cipher_key.alg = OP_PCL_IPSEC_DES;
+               session->cipher_key.algmode = OP_ALG_AAI_CBC;
+               break;
        case RTE_CRYPTO_CIPHER_3DES_CBC:
                session->cipher_key.alg = OP_PCL_IPSEC_3DES;
                session->cipher_key.algmode = OP_ALG_AAI_CBC;
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.h 
b/drivers/crypto/dpaa_sec/dpaa_sec.h
index 2e0ab93ff0..9685010f3f 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.h
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.h
@@ -482,6 +482,26 @@ static const struct rte_cryptodev_capabilities 
dpaa_sec_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* DES CBC */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
+                       {.cipher = {
+                               .algo = RTE_CRYPTO_CIPHER_DES_CBC,
+                               .block_size = 8,
+                               .key_size = {
+                                       .min = 8,
+                                       .max = 8,
+                                       .increment = 0
+                               },
+                               .iv_size = {
+                                       .min = 8,
+                                       .max = 8,
+                                       .increment = 0
+                               }
+                       }, }
+               }, }
+       },
        {       /* 3DES CBC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
-- 
2.17.1

Reply via email to