From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E10CF42668; Fri, 29 Sep 2023 04:09:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DA9140A80; Fri, 29 Sep 2023 04:08:55 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2104.outbound.protection.outlook.com [40.107.220.104]) by mails.dpdk.org (Postfix) with ESMTP id 6C27540A73 for ; Fri, 29 Sep 2023 04:08:52 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KsTK9Yx063PIrbMf1DUZXzAfm2RgFV3JDko0YFspcDdHtQCWXv0kACPbHtpplwiwpHZ14AzOpx78GtwBbtXqFC54cljnGVp5axfvKLf+3zaDDmgbDBnGkrbikrP+nvDz9wH80B2QYpAl65bVNaTP3a+ivK8WYr6thfJ1MmSUi60VA6i3LYbLIETDWGxQ5irfwxnyfrcKPsHoLyKMf7ZoieE9Z8gHSgRyj/+reLgm1R8hMaiW8VvfAbbNyG+NJ8Y9/MnKWVcVJ/9suLYHkoiHtvJhyySD9zkI0nF8qMo4cHJOcGk1SWEZxTFN4q8O9xsCi0BSoViAdQWTBUuy4IdFzA== 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=StFZvi/PtvwulFvEM7BHkc12V57A82mxLHTVCYTJoaE=; b=kqLtDjoHwh8OjkfPxqPv7R9yHCINiN4yJ5a3QCPoiPWK8OPCplsww4j7e5LojIIEjuDyriWfsmkyvVAK5OFk4Nr2El8pWKZC1/MlQfB8r8xHZ/wdiEtCt8cmxi5JDTE4LQDEvEwPCR2NxR7cB8+nzYmIOXyvJKh8w0Gx9TqzUx+q7CQT/zmgtWw0YvIcSbcgWAZBeEmn820bXmoE9KPM3Ic+wlwSzK6B/DChD8oDXTTlnCRm9eIiDA+4fkFl/lqiFpjrpJdnnJSvmFEt07u3za9k62Xah8aC44GKaEvmY2Z1Pkoebnsv0NH4TAJLf2BJKhZOYbqifiQ3v+AcVOAbNw== 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=StFZvi/PtvwulFvEM7BHkc12V57A82mxLHTVCYTJoaE=; b=SE78BViKw2iISrPuelRlkVR9ZpbO/yl79tJ91B0FY2H6vzGCYQxWPRdlvCMKrEegIvyNekbJmK1ZyWist40PurTrDyG03Za6UfMiLcqmMPbzr2fGuaJGwLN0SzEVpf1hXMUnbKJfZdABh8Ozz0pPuxGY2Ew7gGsjCol3kgwaIrA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by CO3PR13MB5687.namprd13.prod.outlook.com (2603:10b6:303:17a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.19; Fri, 29 Sep 2023 02:08:51 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::28c0:63e2:ecd1:9314]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::28c0:63e2:ecd1:9314%4]) with mapi id 15.20.6813.027; Fri, 29 Sep 2023 02:08:51 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Shihong Wang , Chaoyong He Subject: [PATCH v3 9/9] net/nfp: destroy security session Date: Fri, 29 Sep 2023 10:08:10 +0800 Message-Id: <20230929020810.1219391-10-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230929020810.1219391-1-chaoyong.he@corigine.com> References: <20230926024959.207098-1-chaoyong.he@corigine.com> <20230929020810.1219391-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: PH8PR07CA0028.namprd07.prod.outlook.com (2603:10b6:510:2cf::23) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|CO3PR13MB5687:EE_ X-MS-Office365-Filtering-Correlation-Id: 05340e7b-495a-41e5-9146-08dbc091060a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jZvThgHZivzND1J83xWF+K7LLfCK4PV0g2/Rb/jPjiSpRIsFfUi0XmyrK/o1pF/JZAHkq368+uXGxKetVzpRfCgVwEi7ESba62UH1GVlAR40PRYB4Hi0kYsoYveojIVcgMXGgfVHVon/N8Q0iWp7r1t+jW2Jto/rphAi85jVo8T+e20vir4jIGELd5bZ3PzLK+4zOCDM2KIpFr+ashxaXqr7I7Lr3H3XxMHamitwVcN/3mGTSp9KbyBlQ4CLXrPmiYj99fkNPi+yj0Df03C6S2IBGkZY+jNm+B4IoM5BF24ahy1XqGVCGTnh9lBa122RIJV2Ttg9gfP9uXOnhVjd9fhBB5gkaKoPXQkBIDPVGdAlO6M1Us+EuJgqtwhGwNmPBOeNUWUoCqhd4cMnc/c8NfuC1y5PNoir3YwYLjfYzTNefeMaVWzfToR9HcUBr4G//XoRE7pdEJ1sNPmEvW6myFaFKgmuxJ20MtqT+VFi+76wpxME3bc8N9nMk2dNlX4hto6+mwB3K5WIAXwGB8NmCTOnun7OlizEV2HwlMBMA9BqrE7zxaiqhh7YoxUt7vCwmGjpUbcaddFO5phM9GL/4/UuimuXOfU12p4sPDKMUUulpwsHTLAZTIIud82BBM56pR1FRPHM1lULZuatlkCCSKZOA+Za6RrX6HX/Oa80Wac= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(396003)(376002)(39830400003)(136003)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(15650500001)(2906002)(6916009)(316002)(54906003)(66946007)(66556008)(66476007)(44832011)(8936002)(8676002)(4326008)(41300700001)(5660300002)(2616005)(83380400001)(107886003)(1076003)(26005)(36756003)(86362001)(38100700002)(38350700002)(52116002)(6666004)(478600001)(6486002)(6512007)(6506007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fA+v723+hJQfyTJ4fUd1+oV9WpY3uYbBaoeNKUsrl8mGwQndSvsCiwRwwyvG?= =?us-ascii?Q?g7RITDWWStlwwjw/VMZUGflXi8UUeY88eRPcLp/5X35KQ/x5XBdlCLjP2D2F?= =?us-ascii?Q?HKBIX4wctLQ98k95rGxEZmQj+VEDZQDFVeqjAM+aXmSnv1lrRNgWUpX+Eigv?= =?us-ascii?Q?uNG7WuI79f5bv+Yfv2BR0cTk4G+GHdKpiW3IxO+iPWkp/KWMIJmTlnbRelnk?= =?us-ascii?Q?LfO4c3Ctmid7sDRFNxtChwqXs/QOYCgPL+5+nfZ9cxeLSqp2qT4qFusk30Yy?= =?us-ascii?Q?84wMYmNOAelew2UV8fSMxeo+W2H2EbIC+q2vPWwq0UV2cO9tFnmFiOzpspCf?= =?us-ascii?Q?vwexK2QQ+j7150QrOkZvnKGH/VUh1VteYcYsG+VltK5JgEA7eob7FeU2WoBu?= =?us-ascii?Q?Pbafl4PMWwrSuLdv8FpcqEvEMq0h3WVF4bAUBIdAsU0pUZma0VRS/xJ16fs6?= =?us-ascii?Q?kU1nFn0eo4e4lcsZJ/t7m44Je7ocIfBmaibJWm2kOztIMSFmQy8s8RqjB3Lp?= =?us-ascii?Q?itzY7UmXGHV7O/GNW5g93Z1+rpdZ3GyJTZnAKzomOTV3kOk3MpSNqV6z7F8p?= =?us-ascii?Q?6Nn2obFPf2oFzj6U971FvlO1Zvifpse1KLA+xDUvDCexX8xU5aoii44mOooQ?= =?us-ascii?Q?xJGtxlhdF2R4Mrnv+lCk5r+KthV4az4kppxak31Zy33EJCaBg0zCJ5rnoVP6?= =?us-ascii?Q?U4lVK/Qpb3qXizm1FKJpLRnf/cmsE9Cpp4UB3DWPzB5Qr0U99ZV2v85Geun6?= =?us-ascii?Q?ViySm+WBgbtldXkRIyOxzceJaO3eZcVX1fogvrNhyWnMGlceaODHBcAZy+2X?= =?us-ascii?Q?X2/v9DjLZdIzfxR0we2IiW1Qq7gfmLxMK6KvE027wp6gQ5WxqNVK7kDFymk3?= =?us-ascii?Q?Op4OhxP/P0ayXrZQQpDKgO4JhE0zhhKau7BsCilYsYuQIeJXL8yjTIxo4edZ?= =?us-ascii?Q?DABnUoO1/nF7Sq5eenGc9EKU3v11R4OWWIDgpqrlBneO7fw7quTFd5k5b/Tg?= =?us-ascii?Q?+D2F+88d5gtYX9TzGI3EJzv0DgSSPGoh7H9mBNowr1p+yIZjtK1lADPRY/wO?= =?us-ascii?Q?1MMI7Q4HG7Zp+4P9oPtnbKCc0ckshqEmYf2Qsi6C93f4SHGInNKS95xQJn/C?= =?us-ascii?Q?bnJgGfzcXg2fTTKUQjxD2CK5dgR5nzY4735D8Ic4eIULi74GrNAHO+Cjz5A8?= =?us-ascii?Q?/b7o19w3jAyDIGc30X81h/mmQOfg5QxugHJ5W3pEuMpSQmFDBW+p1/L85Q/r?= =?us-ascii?Q?gMglsL2kV0bLUipjr4Y+Dh45+8L1mNMUKKy8bBZBLRPhkCePhzjz9Q6gj2Bb?= =?us-ascii?Q?J/n6XL4wCxwVEme+T2eeZVXiYCWKLo/xfVpXqmfIsmT/X9p1xRGt/Fm+Ssi1?= =?us-ascii?Q?tvqiCyJ5RzFJ7IlNEq4EiliEZuT4vpB1lM1o13hJtWcvuhL+nvWv5mN1EU1K?= =?us-ascii?Q?PbQbwN6sQj0JsIbVSIYFdq23H+JTpQQw6BiOnfGuoBtQgRbQoLCFGG10EdhO?= =?us-ascii?Q?IPbzDNRzTSyuGLW/X+IVCo+1W+nMYX3LUzQn5W04X7n9uQGKnwPibZS2xxcG?= =?us-ascii?Q?K7dtdZW5EgSh202jkrEqywXXu7FVOQyhlQCe4rLRA1sFIv/VjL6bPy2CDtzM?= =?us-ascii?Q?zg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05340e7b-495a-41e5-9146-08dbc091060a X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2023 02:08:50.9973 (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: eLJv149Gecx+0ZmJcVa64YJgtzdjQsP2MzbfPAaSg+S/5x05+aCbutDkK4s8TDUeqEtY0p9TF0Yt5c6ZTEOUHUZLs6GOS8EiFiUpYwbFYgs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR13MB5687 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 d1d593f18c..9edb096a58 100644 --- a/drivers/net/nfp/nfp_ipsec.c +++ b/drivers/net/nfp/nfp_ipsec.c @@ -1278,11 +1278,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, }; -- 2.39.1