]> git.droids-corp.org - dpdk.git/commitdiff
common/cnxk: add null authentication with IPsec
authorAnoob Joseph <anoobj@marvell.com>
Thu, 28 Oct 2021 16:52:23 +0000 (22:22 +0530)
committerAkhil Goyal <gakhil@marvell.com>
Thu, 4 Nov 2021 18:46:27 +0000 (19:46 +0100)
Add support for null auth with IPsec operations on cn10k.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
drivers/common/cnxk/cnxk_security.c

index ae3baf62caf5e492ad8506331a8455cdb6237093..30562b46e3462aa07a4dce2cc484c71de49f78d9 100644 (file)
@@ -116,8 +116,18 @@ ot_ipsec_sa_common_param_fill(union roc_ot_ipsec_sa_word2 *w2,
                }
 
                switch (auth_xfrm->auth.algo) {
+               case RTE_CRYPTO_AUTH_NULL:
+                       w2->s.auth_type = ROC_IE_OT_SA_AUTH_NULL;
+                       break;
                case RTE_CRYPTO_AUTH_SHA1_HMAC:
                        w2->s.auth_type = ROC_IE_OT_SA_AUTH_SHA1;
+                       ipsec_hmac_opad_ipad_gen(auth_xfrm, hmac_opad_ipad);
+
+                       tmp_key = (uint64_t *)hmac_opad_ipad;
+                       for (i = 0; i < (int)(ROC_CTX_MAX_OPAD_IPAD_LEN /
+                                             sizeof(uint64_t));
+                            i++)
+                               tmp_key[i] = rte_be_to_cpu_64(tmp_key[i]);
                        break;
                default:
                        return -ENOTSUP;
@@ -125,14 +135,6 @@ ot_ipsec_sa_common_param_fill(union roc_ot_ipsec_sa_word2 *w2,
 
                key = cipher_xfrm->cipher.key.data;
                length = cipher_xfrm->cipher.key.length;
-
-               ipsec_hmac_opad_ipad_gen(auth_xfrm, hmac_opad_ipad);
-
-               tmp_key = (uint64_t *)hmac_opad_ipad;
-               for (i = 0;
-                    i < (int)(ROC_CTX_MAX_OPAD_IPAD_LEN / sizeof(uint64_t));
-                    i++)
-                       tmp_key[i] = rte_be_to_cpu_64(tmp_key[i]);
        }
 
        /* Set encapsulation type */