This patch adds SHA1, SHA224, SHA256, SHA384, SHA512 capability
updates to AESNI-MB PMD.

Signed-off-by: Fan Zhang <roy.fan.zh...@intel.com>
---
This patch does not contain actual functionality implementation.
This patch targets 19.02 release.
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 135 +++++++++++++++++++++++++
 1 file changed, 135 insertions(+)

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c 
b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
index f3eff2685..2ed83e652 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
@@ -39,6 +39,33 @@ static const struct rte_cryptodev_capabilities 
aesni_mb_pmd_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* SHA1 */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
+                       {.auth = {
+                               .algo = RTE_CRYPTO_AUTH_SHA1,
+                               .block_size = 64,
+                               .key_size = {
+                                       .min = 0,
+                                       .max = 0,
+                                       .increment = 0
+                               },
+                               .digest_size = {
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+                                       .min = 1,
+                                       .max = 20,
+                                       .increment = 1
+#else
+                                       .min = 12,
+                                       .max = 12,
+                                       .increment = 0
+#endif
+                               },
+                               .iv_size = { 0 }
+                       }, }
+               }, }
+       },
        {       /* SHA1 HMAC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -70,6 +97,33 @@ static const struct rte_cryptodev_capabilities 
aesni_mb_pmd_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* SHA224 */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
+                       {.auth = {
+                               .algo = RTE_CRYPTO_AUTH_SHA224,
+                               .block_size = 64,
+                               .key_size = {
+                                       .min = 0,
+                                       .max = 0,
+                                       .increment = 0
+                               },
+                               .digest_size = {
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+                                       .min = 1,
+                                       .max = 28,
+                                       .increment = 1
+#else
+                                       .min = 14,
+                                       .max = 14,
+                                       .increment = 0
+#endif
+                               },
+                               .iv_size = { 0 }
+                       }, }
+               }, }
+       },
        {       /* SHA224 HMAC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -101,6 +155,33 @@ static const struct rte_cryptodev_capabilities 
aesni_mb_pmd_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* SHA256 */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
+                       {.auth = {
+                               .algo = RTE_CRYPTO_AUTH_SHA256,
+                               .block_size = 64,
+                               .key_size = {
+                                       .min = 0,
+                                       .max = 0,
+                                       .increment = 0
+                               },
+                               .digest_size = {
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+                                       .min = 1,
+                                       .max = 32,
+                                       .increment = 1
+#else
+                                       .min = 16,
+                                       .max = 16,
+                                       .increment = 0
+#endif
+                               },
+                               .iv_size = { 0 }
+                       }, }
+               }, }
+       },
        {       /* SHA256 HMAC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -132,6 +213,33 @@ static const struct rte_cryptodev_capabilities 
aesni_mb_pmd_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* SHA384 */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
+                       {.auth = {
+                               .algo = RTE_CRYPTO_AUTH_SHA384,
+                               .block_size = 128,
+                               .key_size = {
+                                       .min = 0,
+                                       .max = 0,
+                                       .increment = 0
+                               },
+                               .digest_size = {
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+                                       .min = 1,
+                                       .max = 48,
+                                       .increment = 1
+#else
+                                       .min = 24,
+                                       .max = 24,
+                                       .increment = 0
+#endif
+                               },
+                               .iv_size = { 0 }
+                       }, }
+               }, }
+       },
        {       /* SHA384 HMAC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
@@ -163,6 +271,33 @@ static const struct rte_cryptodev_capabilities 
aesni_mb_pmd_capabilities[] = {
                        }, }
                }, }
        },
+       {       /* SHA512  */
+               .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
+               {.sym = {
+                       .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
+                       {.auth = {
+                               .algo = RTE_CRYPTO_AUTH_SHA512,
+                               .block_size = 128,
+                               .key_size = {
+                                       .min = 0,
+                                       .max = 0,
+                                       .increment = 0
+                               },
+                               .digest_size = {
+#if IMB_VERSION_NUM >= IMB_VERSION(0, 50, 0)
+                                       .min = 1,
+                                       .max = 64,
+                                       .increment = 1
+#else
+                                       .min = 32,
+                                       .max = 32,
+                                       .increment = 0
+#endif
+                               },
+                               .iv_size = { 0 }
+                       }, }
+               }, }
+       },
        {       /* SHA512 HMAC */
                .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
                {.sym = {
-- 
2.13.6

Reply via email to