From patchwork Wed Sep 20 13:34:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 131740 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E6386425EA; Wed, 20 Sep 2023 15:36:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 761FE42DF7; Wed, 20 Sep 2023 15:34:43 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2040.outbound.protection.outlook.com [40.107.104.40]) by mails.dpdk.org (Postfix) with ESMTP id 38A5442D95 for ; Wed, 20 Sep 2023 15:34:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xxif286TvVgpjEBtEqrc3ed1jvAXX5Ij/UgynIicYVolsHdVHpTV3YGrLYI3Kt0yPOZvDRrywzhUFYuShSgcq7dsK1YeZjlicICzfLBLSVEluImwIeHRyhp8+lkDmOr++nsXjxgaL4KvnQP5QRQPcWgCYPzlxsmL0mYaWORlF/7iXjTuUpKbk5lZitxkUixLt4M1AJxPfh59P5G/SJshAQ8XaHihP18xYy4nVkR4Fg1Qci4KEMjF/02FwY+hyqOx0ARqoTk0sZqJNlIRrLykE2I0XBqomXyaJgaZiSiYcLqRPOou+wTKz8gZlJb6+vVFHsT4xci1Tv78yajf4lq0OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JJzEtjmEUfWPHGIiixk/UNGbsm+UaRpAMqfl7EPYmM8=; b=m5J5fUhcdhiJbnWUv33FutbIgaxc+kFQlBHNCdLVtdhPWyOzz73DzUb1fFoa+KF4sO9qHyHx09RrG7EkTjw1YO18f7unAXcnG/4iYIvPxmidvtmXgdcIpZCk5ONNqvvJe5Qxn2hPdO9RbW/PlZEq80lVrS4TzlMb6dofjhPqZEb1J70cwEsPErgC3Cyg9IFHJYG+/BzQLYOnC8nmFlTtmHYhB8XJI1JmAOv1yRU6NSDbn2pNpxyN4d1PfmYQ9KeZglyVM/sMeplrsFdAwcSjs2HzbcUJk4+OkvhqzlUn8BRaPzpfYiRZpyZcNUPp4WADKP0etS5+mSX/QwTHdDErEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JJzEtjmEUfWPHGIiixk/UNGbsm+UaRpAMqfl7EPYmM8=; b=IaWDxbPtiOBwjuGc55cUO2iKWAVSDFYbny2gfx7tpc/W525sXUZy+P898u/jsU5AYjQt9PXiwllhzGqY3MulPfdMlE25OtSXYsTnb0JqS5De9yJLCh55vOWw7v7LmN0nr4woitL4QhUhPA+0RAGou8kdhrSjGF7ib+jZx6ET+IM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) by AS8PR04MB7606.eurprd04.prod.outlook.com (2603:10a6:20b:23e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Wed, 20 Sep 2023 13:34:38 +0000 Received: from PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::450d:89ac:4f6a:6ae2]) by PAXPR04MB9328.eurprd04.prod.outlook.com ([fe80::450d:89ac:4f6a:6ae2%4]) with mapi id 15.20.6792.021; Wed, 20 Sep 2023 13:34:37 +0000 From: Hemant Agrawal To: gakhil@marvell.com Cc: dev@dpdk.org Subject: [PATCH v2 13/13] crypto/dpaax_sec: enable sha224-hmac support for IPsec Date: Wed, 20 Sep 2023 19:04:03 +0530 Message-Id: <20230920133403.6420-14-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230920133403.6420-1-hemant.agrawal@nxp.com> References: <20230823070855.27532-1-hemant.agrawal@nxp.com> <20230920133403.6420-1-hemant.agrawal@nxp.com> X-ClientProxiedBy: SI2PR01CA0015.apcprd01.prod.exchangelabs.com (2603:1096:4:191::15) To PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9328:EE_|AS8PR04MB7606:EE_ X-MS-Office365-Filtering-Correlation-Id: ee963275-3386-4ab5-496f-08dbb9de55c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qgc1nshIvWn5VRPKZWoKCwC1gheoA6qnKEyD+UAn6C48rxoWUoQ+QOz/40TH2RoS5NIH38LGr2TiBCbNHaEUy7H8/3x3nuUQeGPUIXobebd+48HqgpKjfOXGiM58M8gosow4DgGYNyxlEx+MK/mjQobEBooNhqmb1G2MF1iM4mdQ4bFaRnXpqtlxQl1IfM9FuYa65/MKNjRbrtjlSahgAVWAZDYrEmpx/88m1OIWL4atUA/+aFj6dg9Y0HJ3t6HM/9BUr4mAtUjW2RZUKZOBjq6pR1qC8VvelXWcJaJ7ERlt26VFdiYn2WbVqaDYfJeP+En5od7+GbD4cRSIpjdEOrC+F/WbFRF0Ai/3rPD/uGcOGzQEyEmG6QkfP01mk+kJMkK5U/FM+po/o3vV39iMyh3ncH7Ltd0Es3h+jpuPjRwP4bUmm/iymytrIDMctFbuJjSJexGp/YIXtw7S3rE+PY4h93UnZuloC/jrSnyuijZcFbWxc9nPhSVnPJC7kSYeEaNGf7k4CvcAt/4gyal62q1gg7YyzCraems8hEbLkxnVLEAZWYMw3nwYM2H91DgoagHgmwhuSsUfK5ETe5pZh1tqoACHAgEiK49MEJZbBDZOEabu1sdxP/fZa419vfEV X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB9328.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199024)(186009)(1800799009)(6506007)(52116002)(6666004)(6512007)(478600001)(26005)(6486002)(4326008)(2616005)(41300700001)(5660300002)(2906002)(66946007)(66476007)(66556008)(8676002)(83380400001)(8936002)(6916009)(44832011)(316002)(1076003)(86362001)(36756003)(38100700002)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: W9cO77CoAJNvw7fsHmx03KuHXLjChx3Wr+AhRTksZ9IElWOXKQy3KhM5/6UCIU3kud0yEJ4/ppWP1157c2psZ+umbslmHh1LP8f1uJcl1n3ToP15BrXwaXKLc/1BNqUYFU2EhlVnxJ2KEKmNC+0ijHmmuioPo/Ku22SUawGwGnA9ddvZb/eMUBqOxWm0r9zpxVOssQhztqtVk0jPh7xMgUwYLNyg6D6zJRkF5WAJQ6Tz3N1EyRk0SXeEbbe/vjheE43ARI/YwYz65W5GFYsEbSGJVjdoATNuU0jzuqUfQCWlQTD3rijT03ZduF9ej1fbJF4r6d1nEOsjPQE6h7BeQz3KfAA43Z6Y/9vEQ2EccAV/6Dm4eq/HLwaG9R/IfBizUjs4SaKqX+HfBAQ1TreJ9yuwGIgO5oGu+PREI3He78bBpxvb/j1VFGaNwjWfVsfedkGy5U9KwW48JfoAVE7jgdcAxv4L8R2kqfkqgfBd8JDvL8D3H1Np7/NZfO420ISXuWEY9Hxsf/wl6fyMMiya3QUtySqUVxRwDqLfmu2dLRnUPyUY1FSn69yx1yjWXNKn2DjaOY3jcc3uep29ETRWY7+wr0KqwEXbmjy5Msc1ksDmHy+k68VQ6TB8BOk2g0U2vHLKPg4DtSdCpXPYxVE+nED+qhwEL1VD714X/bou/14KBgr13IsiTJQppFebLaMIjypD+sRnA+aCNsvAs3UPAuKh2Nc3oMdXx67QELoAnpiyTcafIZ2l6uamfzA7oRjW+8MmzcwbW9QXILZlhNcru8lPu4vXNnEu/+7TWoOfILxjUfUH1J+VEyyINrVMophOC8XVVpXpeb9rMtN5mTPcy8GkN5QC8wSgi9bKsMDdYVPfYiEhi2E5RZebNmFRObjW3SQsWtL5tNmv3sg53jn1ims9N+Knqz7xS4j1KAgPu6pFypuwXbFkvDyqf5eg28nd7MUZ4iA7TzYKlpo9pswCLxP2eUVNPQjDa/ockeMvwwj8RENKRzdFGhDxD3nF1dLY2C4aLo/82J8YBaMb6HB4NAvKWPdhfgoyXpYbcCxG+FYTetCe3u79e9bZdnxWsQ2ofBoWDaFZFAzJCBRPr9OXl+VeW84AxCA/lgctmPztDrij3pF020FJqMywIc0qe5qdug3to0DCN3kGVK4+woxYts+vwbptzEX4p9LfBlhxopoPreMtlW6rU+9p4oCJxrr4fo3E69L3capOyWgsq3gd73CdW5Y7ApUCwjQWUzNORPtss9OXYruq2/i3Lsc7jP5jR9YqnNtJP96kac6Y7cz80MTH3h3PyewocJ3KGhyAL4lLjgJSsVhTLNIlW9/P1tILWXKIQU+UZGpqG3fau5TOZkca2M7dleob8Y5H+xWA0ICm2RWb2fnqJFtWdOjiRxGQvvLmvaxNUIO5K1uHl7SWFtPj6WvJ+PdVrXmslclW5Jlmn36epG4JCOI6xGluuU+mwj3kS4jJQZd6q0V9CdW5lCgbLSFUxkmhexjNxcwm7TH+SvxNa/4FvNUsiikbwAdkAig6ne3LI5zCHkMOcWwH0FBMa43o9Uyktg8GPR2aa1mMyzfKVbiG6CJl8svf+laBLZZAOOIarbkseZP9Pl8wdA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee963275-3386-4ab5-496f-08dbb9de55c5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9328.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2023 13:34:37.7295 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AkCiHTboi56mGHz55xp9NhwtW1d/qmtGRakSu1mtUu2fB7OJDe7lqsOMDlKpHVtehbbhOYpMLe9devtVNOD8mg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7606 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Enabling the SHA224 support in ipsec proto mode for dpaax drivers. Signed-off-by: Hemant Agrawal --- drivers/common/dpaax/caamflib/desc.h | 5 ++++- drivers/common/dpaax/caamflib/desc/ipsec.h | 5 +++++ drivers/common/dpaax/caamflib/rta/protocol_cmd.h | 5 ++++- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 10 +++++++++- drivers/crypto/dpaa_sec/dpaa_sec.c | 10 +++++++++- 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/drivers/common/dpaax/caamflib/desc.h b/drivers/common/dpaax/caamflib/desc.h index 635d6bad07..4a1285c4d4 100644 --- a/drivers/common/dpaax/caamflib/desc.h +++ b/drivers/common/dpaax/caamflib/desc.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2008-2016 Freescale Semiconductor Inc. - * Copyright 2016, 2019 NXP + * Copyright 2016, 2019, 2023 NXP * */ @@ -662,6 +662,9 @@ extern enum rta_sec_era rta_sec_era; #define OP_PCL_IPSEC_HMAC_SHA2_256_128 0x000c #define OP_PCL_IPSEC_HMAC_SHA2_384_192 0x000d #define OP_PCL_IPSEC_HMAC_SHA2_512_256 0x000e +#define OP_PCL_IPSEC_HMAC_SHA2_224_96 0x00f2 +#define OP_PCL_IPSEC_HMAC_SHA2_224_112 0x00f4 +#define OP_PCL_IPSEC_HMAC_SHA2_224_224 0x00f8 /* For SRTP - OP_PCLID_SRTP */ #define OP_PCL_SRTP_CIPHER_MASK 0xff00 diff --git a/drivers/common/dpaax/caamflib/desc/ipsec.h b/drivers/common/dpaax/caamflib/desc/ipsec.h index 14e80baf77..95fc3ea5ba 100644 --- a/drivers/common/dpaax/caamflib/desc/ipsec.h +++ b/drivers/common/dpaax/caamflib/desc/ipsec.h @@ -710,6 +710,11 @@ static inline void __gen_auth_key(struct program *program, case OP_PCL_IPSEC_HMAC_SHA2_512_256: dkp_protid = OP_PCLID_DKP_SHA512; break; + case OP_PCL_IPSEC_HMAC_SHA2_224_96: + case OP_PCL_IPSEC_HMAC_SHA2_224_112: + case OP_PCL_IPSEC_HMAC_SHA2_224_224: + dkp_protid = OP_PCLID_DKP_SHA224; + break; default: KEY(program, KEY2, authdata->key_enc_flags, authdata->key, authdata->keylen, INLINE_KEY(authdata)); diff --git a/drivers/common/dpaax/caamflib/rta/protocol_cmd.h b/drivers/common/dpaax/caamflib/rta/protocol_cmd.h index ac5c8af716..5b33f103be 100644 --- a/drivers/common/dpaax/caamflib/rta/protocol_cmd.h +++ b/drivers/common/dpaax/caamflib/rta/protocol_cmd.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) * * Copyright 2008-2016 Freescale Semiconductor Inc. - * Copyright 2016,2019 NXP + * Copyright 2016,2019,2023 NXP * */ @@ -241,6 +241,9 @@ __rta_ipsec_proto(uint16_t protoinfo) case OP_PCL_IPSEC_HMAC_MD5_128: case OP_PCL_IPSEC_HMAC_SHA1_160: case OP_PCL_IPSEC_AES_CMAC_96: + case OP_PCL_IPSEC_HMAC_SHA2_224_96: + case OP_PCL_IPSEC_HMAC_SHA2_224_112: + case OP_PCL_IPSEC_HMAC_SHA2_224_224: case OP_PCL_IPSEC_HMAC_SHA2_256_128: case OP_PCL_IPSEC_HMAC_SHA2_384_192: case OP_PCL_IPSEC_HMAC_SHA2_512_256: diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index 77ed68ad6d..bb5a2c629e 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -3005,6 +3005,15 @@ dpaa2_sec_ipsec_proto_init(struct rte_crypto_cipher_xform *cipher_xform, authdata->algtype = OP_PCL_IPSEC_HMAC_MD5_96; authdata->algmode = OP_ALG_AAI_HMAC; break; + case RTE_CRYPTO_AUTH_SHA224_HMAC: + authdata->algmode = OP_ALG_AAI_HMAC; + if (session->digest_length == 6) + authdata->algtype = OP_PCL_IPSEC_HMAC_SHA2_224_96; + else if (session->digest_length == 14) + authdata->algtype = OP_PCL_IPSEC_HMAC_SHA2_224_224; + else + authdata->algtype = OP_PCL_IPSEC_HMAC_SHA2_224_112; + break; case RTE_CRYPTO_AUTH_SHA256_HMAC: authdata->algtype = OP_PCL_IPSEC_HMAC_SHA2_256_128; authdata->algmode = OP_ALG_AAI_HMAC; @@ -3032,7 +3041,6 @@ dpaa2_sec_ipsec_proto_init(struct rte_crypto_cipher_xform *cipher_xform, case RTE_CRYPTO_AUTH_NULL: authdata->algtype = OP_PCL_IPSEC_HMAC_NULL; break; - case RTE_CRYPTO_AUTH_SHA224_HMAC: case RTE_CRYPTO_AUTH_SNOW3G_UIA2: case RTE_CRYPTO_AUTH_SHA1: case RTE_CRYPTO_AUTH_SHA256: diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c index 0fcba95916..a301e8edb2 100644 --- a/drivers/crypto/dpaa_sec/dpaa_sec.c +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c @@ -2817,6 +2817,15 @@ dpaa_sec_ipsec_proto_init(struct rte_crypto_cipher_xform *cipher_xform, "+++Using sha256-hmac truncated len is non-standard," "it will not work with lookaside proto"); break; + case RTE_CRYPTO_AUTH_SHA224_HMAC: + session->auth_key.algmode = OP_ALG_AAI_HMAC; + if (session->digest_length == 6) + session->auth_key.alg = OP_PCL_IPSEC_HMAC_SHA2_224_96; + else if (session->digest_length == 14) + session->auth_key.alg = OP_PCL_IPSEC_HMAC_SHA2_224_224; + else + session->auth_key.alg = OP_PCL_IPSEC_HMAC_SHA2_224_112; + break; case RTE_CRYPTO_AUTH_SHA384_HMAC: session->auth_key.alg = OP_PCL_IPSEC_HMAC_SHA2_384_192; session->auth_key.algmode = OP_ALG_AAI_HMAC; @@ -2836,7 +2845,6 @@ dpaa_sec_ipsec_proto_init(struct rte_crypto_cipher_xform *cipher_xform, session->auth_key.alg = OP_PCL_IPSEC_AES_XCBC_MAC_96; session->auth_key.algmode = OP_ALG_AAI_XCBC_MAC; break; - case RTE_CRYPTO_AUTH_SHA224_HMAC: case RTE_CRYPTO_AUTH_SNOW3G_UIA2: case RTE_CRYPTO_AUTH_SHA1: case RTE_CRYPTO_AUTH_SHA256: