From patchwork Mon Sep 25 06:06:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 131883 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 F058242633; Mon, 25 Sep 2023 08:08:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6CD3940A84; Mon, 25 Sep 2023 08:07:59 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2091.outbound.protection.outlook.com [40.107.100.91]) by mails.dpdk.org (Postfix) with ESMTP id 3527240E03 for ; Mon, 25 Sep 2023 08:07:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MKb/CjuoLPz0Pf70FpY9nRjCmrQfMtzqe2KjNwZTY/CH0FIIgQYNTYOg6iEagwvEmGSa0+Kzzo0fS7nT6bmqnwKABsSymRAOKCzp/tzJ8OsQjLKJVRIT4mNZEb6eJgrwqZ52ak4YiBdFYGmgeEZ0748EWOuiqgz2KtVG4a92ZsodI3bhgqYHpYdw3J1ZlE27+RKdmnvHKC+RGuAH7C2CaToSyMTi+zwiCSw4islS6FoXlZhCjpgqnyu+xw4sThqBxXyZNwW3j69NT70X055N4ojr/ImareKtO75ZZVXhIzkkoXXF6Ken0HyWcNh5hrCRobhCaugXjOffD+3AwLsmAw== 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=YA9rVSRJeU6LY8RpgM8H2UcVZd4xYIKSy0VWZy70v8Q=; b=FthXJQqDPKewlDfjtCGkh9PRnCLwQdn3eWmUjeMBd6PrQDiOMWY1xzQ1XPj920rthH0HIt4jWFxCpJ5SgyvI4MZmQcnX6l/0n/zQtv6c9iHXScFttUoLhXkydiu3bqyzN3608iFV1Hk/yc3XvQpfLP4Hyoz4ch5XP6rZNnVqf9nxYnJ7ipLpyz4NiJre/gQ6AMd9dlnjB8oj8LNA8LN0HTUe5gT0+RNwvsptJiF8ze4wkgp5PBM98AiVjDCS/qS2DGfO6zdISBDpbGZcUGjIgxP1ROVcHYAYR9cptMnEPBOvJl5PDlXPDgqiBnTyYwMfbam1IPBQqUXa1jI3oy5zRw== 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=YA9rVSRJeU6LY8RpgM8H2UcVZd4xYIKSy0VWZy70v8Q=; b=R3UyV+6g4liGDcH9suXfzTTWPYXLTkdvCJq8jbYNiNAPcfjOUEgjo1CheTfxS2zpz0WCGXDcc75/sjkgaT/tCgUsywjP0B7uizsqRjks86/4McbnRaPWnPGdgS3ITfCBRfdhF0Yp6tCzFZgEHqgvsZKaYSKRKDAf+wigqPYs2gw= 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 BY5PR13MB4487.namprd13.prod.outlook.com (2603:10b6:a03:1d4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 06:07:54 +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; Mon, 25 Sep 2023 06:07:54 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Shihong Wang , Chaoyong He Subject: [PATCH 10/10] net/nfp: destroy security session Date: Mon, 25 Sep 2023 14:06:44 +0800 Message-Id: <20230925060644.1458598-11-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230925060644.1458598-1-chaoyong.he@corigine.com> References: <20230925060644.1458598-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BY5PR04CA0001.namprd04.prod.outlook.com (2603:10b6:a03:1d0::11) To PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB5568:EE_|BY5PR13MB4487:EE_ X-MS-Office365-Filtering-Correlation-Id: 86882e08-d7c4-4f59-4c02-08dbbd8dc1c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FGjNh2nFsgpafmy4orzXKtDKy5fT+MhNN5fQaSVEaDEQqAm57x27HFuH1uAwjYGprX8Ouh9EPsKT4i9bwvZFhXtgOS2FbYCQmWlSRIHPhtqatKavxdU/EbJ2++gURMKZBBur7O1iXE2Uq89nI37lXxj7/3mwu3MxyvISkogYdtUQYybic2PKTXYFCGh9Auuk0AFmM4/zw81YRmeR6f1guvnJS4HxvrEenxWXaWpMFZsz5w9G6tQT92UAwbrxk92I3tORtgoUIFtYdu25sAr+SNNmeoLCTJxC6L8r6JIJhiPIXc3TqseO9cZgJZEhY53plO/F3Mm/8o7NUYzzde7rUbBBaGEgJF832huQCaD7p26PdpguUWWnh2Ym+bw9Mki/HDkIoSHObqozrDid7RT4obINpXk1lObhH/NPBIU79KOgRySfPHuEef0aM7FLGBazfv0ogsmm0ahIfOBQXZL8zpAt8FdbVKpVGYkadItyLRIBuWyuDG26iIkXjCPajMXsFBf2hc22FdNqBw1xP2tM+K4OvtIY7qZPaWDEEa6MQQY69YX1pqw8ag6EDOoJrBJLNwHcafaTSZhANjc0cWA5XDLr2fnod89ACL63LBkG9ci/8FeQdM80b1oeDE0VQCMhP+Yrsm7ucXn6YaRlh2N+iw6cXQXKuxjFPUUmE/4nwV0= 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)(366004)(346002)(396003)(376002)(136003)(39830400003)(230922051799003)(1800799009)(186009)(451199024)(6512007)(6486002)(6506007)(6666004)(52116002)(83380400001)(86362001)(38350700002)(38100700002)(36756003)(107886003)(1076003)(2616005)(26005)(44832011)(2906002)(15650500001)(8936002)(8676002)(4326008)(41300700001)(66556008)(54906003)(66946007)(6916009)(316002)(66476007)(5660300002)(478600001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ickbMt5gKGXX0pagl9ZNIUEx+JkuzN79vtx7ZmIXARSKnMh8QO4PJqatyewnHxMlSbRn4RW4mk6d2U9nu9SJ3vn0U9/I2yBM0DxnBnjvl+UALvDDmL+Hd/MiWr7sG/ZOJZZ5QAtQAuO2vu1pzFSofb5LEmOT8FkESQ7EMVMDIMWVU0aBu465kLEWFScFDXex82HFwnWUKCi2eIwNK1AXffkeucWwo7e/HveOOz6w/x4jTC3HWWMgNz4JVv/rMYH5Okjs8y0sBRn4d2GWdjKpNAndhVdA8T+FpJ0fISrxPcWJaaRjp0gVwy/xjeVuTtWHYH491NQ3w/sF6bynoFfLduOlxMIBUWPLA+WU1QeDKky/aLzxzVAcHEHmyFq4TltCcV+RYasheepJO4ukL41/NDMthgL5SwGw1BuoG760yDKAH5Z1aLhYF01090W8hRlX84yBERd6Ip7hZrSuQB4dJxcJQ5LGWmY+3/OOIH76d11TaoVUHqhFEGQIikOWKAyZuNEmfdB5v8agjar0UI0PoPv3LT6QVPlu8nzPUQvpRHjsCKytLwiQ4oFuXYgRn7riTH0JfLGyn0DcVgdBZ0vOF0oRpmXIfgFt9ZhU+g8yiFLQrAqlb3AWGKMd5BZP9Ydju7uqa3jirVNsYzWHYFGTGIly5TQcG5z0ox93C1XBDHc6lWYZLXWCViH2FFmJhGdTj62wnBdJFcTRPrAyMRd4WOAdfiWkLeBOcK9o31IFWmXq2PEtECVNzpkD8mSkQPebRXE0XslQajTA1Zbk6tiZ8cqrQdJ/Z+lbEq2tyk1kcu8F2KfFlHKON7f4E1fv+Qx0mgnnqeVGJdPMjEqKSzcredfxerHyreLJ/f0fjO43Iz7Mwsuq9gdr1gkJwitI8eMwTKCtcBCHUl+DrYGahZ5387rDee6LHq5aAX9qcV00fjPaTdvvz4hCoHQB3Q4hLioJ2ZcXDWXZ7I+XkRsQ5gDoHvp6ofoi3+j6RBMYq+8V+At61GZ0Y8NbzK/EdIZ+Sfh2HeqaxB0vwMHqgQZ3BN6RYezud4TIlnkzviHYi2efuo5fRJvjL1oDxs2AkDkYo4jSV0NEjGVBx7FQoxmEjYyxBZ7r9usE/x0lePV2MxjLQgKVdvhD8UMwDgWTiaDNN7C+nstSAd4ckpalbMPy6odFsN30BIILbQZYcT30e7z/YLDZsD8byv2kuM/8B/X9ywOw7pUhYUn8tGFVKFP9MfZyHs408NyXXKl6Kvv+8PECrK+/mjjD9g7bdu7pYHXDkIrfEVhd1DRpJ+ErVdYH5cK3quoXeE0aEMCF3zx/DE1TRaWz0CbE/D5UiguBWFvAUc99BcIHwFcsVY+cLRrHddkD0SOjpXifgXzWHtsncf4WN5d4M/360BfKrrhBOa4gnenUNqaFsrSqn1Kx7v/OkkCxAdHuyo9Xn5nE+UW2qlmtDy/jFM+DV13hkIMWdNXXRv4WNn/I3n+EmwQWovSlXFrg95oJn8OVGcIi6+PUasMFURpBqnnZNLkPYE9gbyVAYXSPtslzuc8fm3AFDpmBgK7nvStCIJVChTC22ZKC7jG+FhFXnepY2PiUkTNV1NDu8dyQTt9Fd3NJeKsdzZIBmZn3eg== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86882e08-d7c4-4f59-4c02-08dbbd8dc1c8 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5568.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 06:07:54.5611 (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: A3zQ6/l0R0nKBUnxeRBxTZOILZwyzY993qVI7IkpMXuJM74NJliIcuO6xP41odEewRTIcMZS57lxBCRckqYdqsRdVwIMpqGAiRELH47806k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR13MB4487 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 b11b1c9df3..a5b5a4fe42 100644 --- a/drivers/net/nfp/nfp_ipsec.c +++ b/drivers/net/nfp/nfp_ipsec.c @@ -1291,11 +1291,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, };