From patchwork Tue Sep 26 02:49:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 131909 X-Patchwork-Delegate: ferruh.yigit@amd.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 879FC4263C; Tue, 26 Sep 2023 04:51:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A1F5640A79; Tue, 26 Sep 2023 04:50:51 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2101.outbound.protection.outlook.com [40.107.93.101]) by mails.dpdk.org (Postfix) with ESMTP id 79A9B406B8 for ; Tue, 26 Sep 2023 04:50:50 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DLbIib+rdWk+/vMWbrfMn1rrOKEYuNQZFFXT2Y3d36hU/z+xNsQpCkUuuPXHWI83iJOgEtBz86+2ZbM2X0x3xnpFSe2TetUBMdvgNw4dOi+jS4bG1T3JCIoWK43gRbbr6B3hc1Q0Wf0SPXY6eJJcb8XDCoggKUxxLQ9dVSprWwTJUGf00BJpo2hyxlqFydBMyppMKJ2kW+9vG37XTU34yEKQV9SXIXYjMjpYGdhLF9uutcFohY+joktrxBBXaZYxHSTg9G4GkpnO+Us+A1SKRlkijh9jLvd/RotGgn4dYT+jaJi7Blb9zGnciJFt0w9K42XQZM8WqgKMxLkUpvbROg== 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=KoGub1ZWyl2hclsGpyYnIJ/muSTzpRSYDtYtGHyUvi8=; b=gt/rBdNyrvV5XMcotpWVfkcBHRE6qNnxGEsX3lsr3vKUnJNIDobJoNOxpX1IxycTmr9X5e71sCsL458Ikaot53fqMP69q72dSXWMKrbW/ryNjHNYZ2ZW4xSJRdXmU13q2c+GawgEGMBLRb7CVuTxkOSBz6eA1qy06uPs3VRLwuPRFM9Km5cucbgYBEwh9dco0BAXepqs2v9bj7Tb/5crNm1lYk8BV85HA8JqCIAzmF19CAWgx/ULBRNkIiOgUv5t9/UeqzVCztyV6GBKpUU+e4DJckqbAe2nwL/6gHD6KcYKMWKQX2YYAN8GCZFmqESFvHQ3R32/9WejeYsGNnAblw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KoGub1ZWyl2hclsGpyYnIJ/muSTzpRSYDtYtGHyUvi8=; b=GVr1SpPC11t6NguaUQn281JzFdB6VcEwYrzgfENnXi4Xc21hnzqWT07rwuk0UA1+kQiyIf/dhkVeGLg9dUUQ6zg2Tg/qdTe7mCZfmxJIa0rp8azHBF1mCcFFWKsgqW4otDi8IW96RDBSTwMMyDN6CrsDslTSzTjiOdrCYhLu1xU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) by SA3PR13MB6516.namprd13.prod.outlook.com (2603:10b6:806:39c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Tue, 26 Sep 2023 02:50:49 +0000 Received: from PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7]) by PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7%4]) with mapi id 15.20.6792.026; Tue, 26 Sep 2023 02:50:49 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Shihong Wang , Chaoyong He Subject: [PATCH v2 10/10] net/nfp: destroy security session Date: Tue, 26 Sep 2023 10:49:59 +0800 Message-Id: <20230926024959.207098-11-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230926024959.207098-1-chaoyong.he@corigine.com> References: <20230925060644.1458598-1-chaoyong.he@corigine.com> <20230926024959.207098-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR05CA0020.namprd05.prod.outlook.com (2603:10b6:a03:c0::33) To PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB5568:EE_|SA3PR13MB6516:EE_ X-MS-Office365-Filtering-Correlation-Id: 35d16f1f-f505-4418-e2c7-08dbbe3b63c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x5T2Q0nWydamo0lqtpYW1+meMKetpuGTtX6n+z+8763gufSEnpyNy9SlhGsNGUFcsykXOJIBv+9PXmeqz8iJrm4Htx0DWxe8ApAZCiw1o2YeqZ4vihHHwX57dxl1dsBYsLrxNNnRDFuP8mW5580fDmbAUp/AXlnJdICt2cibKpj3CyMBJxH6OCbNca41N98sG5wTK6iDvlbE2y2McWnSn5U6icuXqnUg6JVaUdMpJvAN13QMo2DQuGpr7ag2MCdIj7t6/6vPpG4e7VXUzpat18+W6IOkYxCgp5DuBWlmaJiOvE8IEnzTRcTnKIh2S0I+zocEBttKgzeVNmLyEdMX5Z/6AkG4YnbjEnjNwl1Xts1iO1fTHHpfNJ2VjNSbacVxtjihlLaHgNDCqKbTFQU8Ek4r6ZB+zaRem9a6NlUgxjjFjXUk4SfOyy4Swi7AxiumdSnjNEE81sebVRr9fpfTb7hreSobfx9LRokV+/x185WzROzKG76/6gEelwtpIN3cs32WDI2VX9Z1loYFzt9n/kw7ZxPe6852mytqKoYMf/7kQ1Gc3jlXBb0S6UhjB7gWXwyLf3EwrBlkX323pLQPCicMTMN0Mfzn+SPTdOtI4AHwCyM7Kfh4Gt4jtCgqbrFkpWFlOV9ysSz9+J6y5Nz6fYQ+/YSEYlulqW0NSgtWAbw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB5568.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39830400003)(136003)(366004)(346002)(396003)(376002)(230922051799003)(1800799009)(451199024)(186009)(4326008)(83380400001)(2616005)(6486002)(6506007)(52116002)(478600001)(6666004)(86362001)(36756003)(38100700002)(1076003)(26005)(66476007)(8936002)(66556008)(6916009)(6512007)(2906002)(15650500001)(38350700002)(66946007)(41300700001)(107886003)(316002)(44832011)(8676002)(5660300002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: p7b2gBwP5L+nwtM2kBTS7/JpbZkhGKij9yy01ABEgHgaRqr9fapr4gRx7iBQzWrZO1i5kr+ZtG6RDJy2tskYUTrHs5ciECE6mwPVWIuM1i9mNKuvU0s8jJX7k5w3PCUBqZglpA7Bb6dxjnjufemjz+H0kdQaRN8vrhWfI4ejwz+CbbNgudV4UoQS9EX6sp80a6G9CLZI/ZgwU8ETj62H51jYtJjVlwfTzEbKchKomqpGYV/1ZL5E6PBPzxkvSTCC0LPjdBjXbeT31VFxA3esVIH4lrSXsImoJCRrrR1UHvzjZC4oSVXT2ve3Ti3gUcGAdySuUH+qxeSpO6xgsELuzQKy2MMeD0iB+P6Sh2BouzUyyY6ryewa9GDMr/+HAPbgC7RXReH63EJahYej2Oq2IGAzdUdZIi6zPOQ0Oom3ZR/FWYHTNebQ8zBHYJjvSItrBOGzsFToknw6fPiyHMzr88H0Mv+r3eksnfwKQAg2yEz85x8MTQ/EvheY6eIbVVNEMAJ9yzON0Nsh6te+LDOhCOqt73FHStdQENPXFuxzR+scnN+SUUS/EM0rccoa5zwocVjaMlF77t2qPLFw1WCNe7JmRlxnAHh9O0vlkfS7aZD5Rnq1H84e24Y0yqtG4kJPDhdkYUvIvIXW8PddAppkhFius0W3VFHk3WKwaNfpzpyoFRIxoAl1RhOVJzz6aOKRXEbeoscA7TowwDymYBhmq56BR7t5FOj3pH7jIm3l/5wVnoWea3bFCh1R4LHYLFxdCtewMaz9h2fjUaHtt/lXyurZF9tphozkBRTalMTDHmCtFPbQFeJQmQTKR5ymxLfDd7SjgCIJi/ATXkFgAOXzZmb5Mk7TnFRPOxjsXeMWMtsONk8sE9YANoPUoUhxDt1QUP9zCC98gG5YkN+rGYxKgqDKOgAz79O2PNM37ABymvnNwNO3NGPhW9P8dKejmy550sN1WrvFv1rZOjMD1+jOC4MeAqNWxm5L9F0yVPq1SHE0SwhGfb80nUC/xiMoXUfeUGZ+cvE+uvOSyV/PbvyqPYWPchkpklCEOb/eiCYZ+DS5lQPn30BtFoaQUhUsN/lzMFzqm3MIghT+m98PLx5Kb1Xq2P7NWPJujVIO3iAGyXs8JWpLg5G0jUT48F3/U6DcVQkolkg34mjoLS/RfP5heYDTvRErM4Xxrm47O90ublI8drsT+lm/J8vOURC7GeOaCwKtHDok/1wIUwIPiAOPwGFNpHptCh0dZG41nt4+tCaxK9DnOFrmKAalsvOBnFpPXmfHOjfG4O9T0O3twyeq5bhWRXfj+9mPlVfOyb4BkXnOJpQvkZRgIilKuZiiaRC0RHdv5v6wIVAE1GKs2UZLdYArWU6WqItExA6OiqmxOY5SeWWcnKXK1XpLmCWPEnZNJYydbHmb+QGHC+46y5mi4yxFUkenDDpHqwANRNAcgrRw59T3zOkTJ/ubdkU0JeDqcNZ8O3vRz45AX4Q2uQ0yrfUrAR2YzuuVJK9uAUl8LqSRY4Q7y/jh1ZZ2rUdnP5xzIwnp+grGCRd1jLbaRHJk/t+zWsOqBVdEwCKVLIR1ICn2Evrhrydk0bMSo2tkCu/8MWGbtYTMRfrQv2/F0M3lRQ== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35d16f1f-f505-4418-e2c7-08dbbe3b63c0 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5568.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2023 02:50:49.2092 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dw5OasQsSrycyIRW8X0wcPK3cKOZJtGwc/OJdUjiamO5ThMzMDo1uVUdCK4UvVUeis6LYpCzc0UdeqrGjfgL9yb/C4mYUkdJXQ660Jhd5UY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR13MB6516 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 From: Shihong Wang Delete SA from NIC and destroy security session. Signed-off-by: Shihong Wang Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_ipsec.c | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/drivers/net/nfp/nfp_ipsec.c b/drivers/net/nfp/nfp_ipsec.c index 8626c6323d..56906f6e81 100644 --- a/drivers/net/nfp/nfp_ipsec.c +++ b/drivers/net/nfp/nfp_ipsec.c @@ -1283,11 +1283,64 @@ nfp_security_session_get_size(void *device __rte_unused) return sizeof(struct nfp_ipsec_session); } +static int +nfp_crypto_remove_sa(struct rte_eth_dev *eth_dev, + struct nfp_ipsec_session *priv_session) +{ + int ret; + uint32_t sa_index; + struct nfp_net_hw *hw; + struct nfp_ipsec_msg cfg; + + sa_index = priv_session->sa_index; + hw = NFP_NET_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private); + + cfg.cmd = NFP_IPSEC_CFG_MSG_INV_SA; + cfg.sa_idx = sa_index; + ret = nfp_ipsec_cfg_cmd_issue(hw, &cfg); + if (ret < 0) { + PMD_DRV_LOG(ERR, "Failed to remove SA!"); + return -EINVAL; + } + + hw->ipsec_data->sa_free_cnt++; + hw->ipsec_data->sa_entries[sa_index] = NULL; + + return 0; +} + +static int +nfp_crypto_remove_session(void *device, + struct rte_security_session *session) +{ + int ret; + struct rte_eth_dev *eth_dev; + struct nfp_ipsec_session *priv_session; + + eth_dev = device; + priv_session = SECURITY_GET_SESS_PRIV(session); + if (eth_dev != priv_session->dev) { + PMD_DRV_LOG(ERR, "Session not bound to this device"); + return -ENODEV; + } + + ret = nfp_crypto_remove_sa(eth_dev, priv_session); + if (ret < 0) { + PMD_DRV_LOG(ERR, "Failed to remove session"); + return -EFAULT; + } + + memset(priv_session, 0, sizeof(struct nfp_ipsec_session)); + + return 0; +} + static const struct rte_security_ops nfp_security_ops = { .session_create = nfp_crypto_create_session, .session_update = nfp_crypto_update_session, .session_get_size = nfp_security_session_get_size, .session_stats_get = nfp_security_session_get_stats, + .session_destroy = nfp_crypto_remove_session, .set_pkt_metadata = nfp_security_set_pkt_metadata, .capabilities_get = nfp_crypto_capabilities_get, };