From patchwork Wed Jun 19 06:55:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Wilson Peng X-Patchwork-Id: 1949569 X-Patchwork-Delegate: aserdean@cloudbasesolutions.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=vmware.com header.i=@vmware.com header.a=rsa-sha256 header.s=selector2 header.b=2YPnk0BA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4W3vXs1SNqz20Wb for ; Wed, 19 Jun 2024 16:56:13 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 2B0BA60EC9; Wed, 19 Jun 2024 06:56:11 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 3dGv8EkxNb1C; Wed, 19 Jun 2024 06:56:10 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org F23C760A5C Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key, unprotected) header.d=vmware.com header.i=@vmware.com header.a=rsa-sha256 header.s=selector2 header.b=2YPnk0BA Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id F23C760A5C; Wed, 19 Jun 2024 06:56:09 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id B4BF5C0012; Wed, 19 Jun 2024 06:56:09 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8A658C0011 for ; Wed, 19 Jun 2024 06:56:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 6F0EB403A9 for ; Wed, 19 Jun 2024 06:56:08 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id pWPi66QnYq9k for ; Wed, 19 Jun 2024 06:56:04 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:240a::603; helo=nam04-mw2-obe.outbound.protection.outlook.com; envelope-from=svc.ovs-community@vmware.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org 1E00C40230 Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=vmware.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1E00C40230 Authentication-Results: smtp2.osuosl.org; dkim=pass (1024-bit key, unprotected) header.d=vmware.com header.i=@vmware.com header.a=rsa-sha256 header.s=selector2 header.b=2YPnk0BA Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on20603.outbound.protection.outlook.com [IPv6:2a01:111:f403:240a::603]) by smtp2.osuosl.org (Postfix) with ESMTPS id 1E00C40230 for ; Wed, 19 Jun 2024 06:56:03 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MYojIx8LfmuqfD1dBgh33M+P9YSW1AjICn6BNxl0gc3iyMedxaRYOizQePtHwsDJaRMgC7CVp+sol922auIwaeOxYqXZyJv6Ga9MTM/rGj3CRmrItLyFcqijUgcUWaA2XM43b55rJkeG4Rj7EZxwdDa4Xry4IUtrMIKmh96YzSpELMTLgVgv7gHd0WvwZxGOJFB/lxY+t8LlVw985+Ae5RtJxOZ31HZbx27bYuTccZo1aky2MaYuigwKGdJeiq1w7tOLaTN4FH832izbl2HG3aaP8EBK6OOtoYT9qwiZACz0lKsgNOp1SHSkIvzkVqMlTiz0Raq3Zu3yHab1v6PVCg== 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=2A43E7xMo3dGie3O7ED/pCkXZSpehj/h8QtZ5s8EOC8=; b=iGreZlLmmCDdvskaM/ahfv6ZTJmYTkVe8RUtG+97X6uzuA236REBO9c0KoG6yl0+WK9K57v4Z6Fou2K09FsF0m8atUKCKJwD0DHOyOECz7oAnY95mI/3jqj/YKv7s4AMxgfXY3qFqwN3ClW0Wy0s3IyVxh9SVfwozongkhlvb46BOYQ43owhNFbl86d0hx0+DwJ+6yYl+4DkgYMBQmjeizadxAkpNOhtR+IMj/6nu5ScWvDwIe2CeuuEkKbFtrDl736m9I+3Z9cH6jb1LCiDZAWUJejFWNP2OO4VbtQZ21kRyUpRoyk99hX6cl9kHZgFlInl7GWPAxNDngl6uyr5qQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2A43E7xMo3dGie3O7ED/pCkXZSpehj/h8QtZ5s8EOC8=; b=2YPnk0BA0ZGaSjVc5B1F3RkBksXkYwhk1Rv77KeWUJiQrqpCzf7SMjDiq2HpCQSHhFsthGcarunL6Wd3gkMl9iF/bBMiZz1UIANSlTFgBfBAYHMKefT0Bz+lRFi7/MZ3ksf77eliW6L4A4nx1xDP9OGxYO7b73cPcVJZ2fWVCY4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; Received: from BYAPR05MB5989.namprd05.prod.outlook.com (2603:10b6:a03:da::28) by PH0PR05MB7544.namprd05.prod.outlook.com (2603:10b6:510:20::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.33; Wed, 19 Jun 2024 06:56:00 +0000 Received: from BYAPR05MB5989.namprd05.prod.outlook.com ([fe80::5da:377d:e8bf:afcf]) by BYAPR05MB5989.namprd05.prod.outlook.com ([fe80::5da:377d:e8bf:afcf%3]) with mapi id 15.20.7698.017; Wed, 19 Jun 2024 06:56:00 +0000 To: dev@openvswitch.org Date: Wed, 19 Jun 2024 14:55:43 +0800 Message-Id: <20240619065543.31258-1-svc.ovs-community@vmware.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) X-ClientProxiedBy: SG2P153CA0006.APCP153.PROD.OUTLOOK.COM (2603:1096::16) To BYAPR05MB5989.namprd05.prod.outlook.com (2603:10b6:a03:da::28) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR05MB5989:EE_|PH0PR05MB7544:EE_ X-MS-Office365-Filtering-Correlation-Id: c5cfa9c4-1fd0-4d9e-d1f1-08dc902ce05b X-LD-Processed: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0,ExtFwd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230037|376011|1800799021|366013|52116011|38350700011; X-Microsoft-Antispam-Message-Info: =?utf-8?q?iCsjmefLQ9OouzuYRMuClTdrVDXCxni?= =?utf-8?q?Lo+emgNziszStcypnbstF33hFs4LH+ALrtYJGi+09hmTcI5bzyLOLBdDSDwHc+GQL?= =?utf-8?q?mC2meYn+r83m7UDu2JD44hBC9FfVy0ZfDxkSZKlEoOmURnQtRgI0jeSOzxfKphvbD?= =?utf-8?q?RT4n27HaGSbvLTI8wB90/7pRVOLZjMI0WjwY3ivRv2wkLKLz5CVWw2O4ipoqASPEi?= =?utf-8?q?W6vTLnpslsvm78TFrAnPdHRIcUmfmIN4JSLnC3r9/M3uh09CkVW/OucMCJHVGf8Wp?= =?utf-8?q?W8cWtAQExV7T0ngk3gMSfP2HAY3pbQhg4o1lQKEuvSFtLoI8f9V8u4zmntnG0jml5?= =?utf-8?q?gFSgT7mVu/Q3fxcdEW/mNICAsGEsIkYmLQM6Hgoe0gdaEeIJ0BtmBiTLqjSSVLjfU?= =?utf-8?q?N5acjDzhDXCelgJY/yC12P6fb6BtrwnxwMarcidXCl0Go2s2C42C9bX6MC9rGmJec?= =?utf-8?q?uOe2JnqYtZC9ozdREPTvc7WoNXdGPK75prglTt7EQCtMjEmUh/q+BUFpkqd1F359L?= =?utf-8?q?UPtIh01a9dXfos9v/yZNoKU2lcfo/cuTD3PhKVl1OoPqQh7VHFrrYe08XY6vJsRXN?= =?utf-8?q?LlPYZDM/7aFUmslgE0EQKBeijJKjfAmRX5xOlw3lBXyX5qo50M/T4ym7VNbA/02E5?= =?utf-8?q?m3PBHJtd8DQLbQywp6jaKkqVif9r+D3xb/pFhom8Le4H1qHI/AodGIA1zLkC5iJi8?= =?utf-8?q?MVxeyt+Y2EpwH07ILgV+aCx10dKCDX8hCsIx7Z3NdL+7tQjwmDnM41kfd1TDxVdGv?= =?utf-8?q?dBmuf3kf/qM5EXguJyFGEeVSMcRuvcHRs5UThDJOm5dyYOAcvB4pDhcpbTnfjWbuc?= =?utf-8?q?pvrPu8OjYgjbwp0IPTP88WF9EFr7po6W3ikUZOvPQO9b9qnwD4EngefBpW6uMBQKq?= =?utf-8?q?oB6ouAnR0Bu5S/+8eqoc9tMg9wnX1Miqg940DXpfVTIC6sVXsVBHXr7YsUgANEFiK?= =?utf-8?q?rsijQWWysDGUI/q6yG2MWeo6AeT6sOaFtRm3jO7FEtfWIwTllVqLfuCMuDM0Pv3vI?= =?utf-8?q?WVFksMY7VSxJEMEXVnyIIrAW8cRF5pGrwXKsoYipzfyzv5NnJUm3meBH/jpmHYwPd?= =?utf-8?q?DIS4lZIw/ntCTU3Nc1Pruzy0KjcOQbzCwUGj6eCDMWuh+haTx/FdatVEIUCb6i5WX?= =?utf-8?q?LYfmoXfrkbWUoptfrJud5nM1XJw6KUQhRs51enTeGS++6ON3u9s+RAxMpkleUye8o?= =?utf-8?q?vISt1zHfi2L8ilvLMd1Ero9zIGRye6E0CSAdDoVygnAfmostY8Lbx3znxTVWuIaJR?= =?utf-8?q?EOQqbxt7siILOqTDIiwRWE4Kd3+/VwvrTdspgO+ATxwxJ+AbunzYpD14=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR05MB5989.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(376011)(1800799021)(366013)(52116011)(38350700011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?8zfDg5coCpvIUfw+UkAc6T7JQ4cq?= =?utf-8?q?PO7q3VEu9TovQgwH4wh3TBPbGjqulWk2ZWuB6C/3vxbqNVVtHTKLan57912JbAVmH?= =?utf-8?q?mbg+8Pu2XSCGsghUtalAsT2xlXHc1a6xmmEpN7owe9e9BA/cT2mj3jjXgrxHq0ftm?= =?utf-8?q?bukir1ha0hioi6/c/OHHJPe2vnmTsrgCRDE3j3rWeY5n+ZxNziLNoJ4eFmihY/W/H?= =?utf-8?q?SyIsQ4h/I5nmwKAtlQ5UTRoKmFPR2uC31zOO7MBs1vyeUioYzxZ/fmTl1fZUGVLVR?= =?utf-8?q?eHHbeMyXBouwA218TY+/ixjVY1W4kAwOwiyr2mMRz8GEZceAHIvEL1IbZ+HPrAAn4?= =?utf-8?q?EvchJAPa7Y4jXRog+QUyTP/p+uh2ltDLIvdWWDGpvi9j/b54iqyGU+KfrEQrfh7fp?= =?utf-8?q?4zTN47zFCGdPQR3VhIZ7Mzafr56BdyK+aNVPKqoCLFh7l7pSN3I4RX4/sS0VI0AvQ?= =?utf-8?q?wQOr6pE8DrBHC/ltF5f0rHsOKH+pje5fwUSkovBRM6DpDUoXEqyXyIDApTBgyHNmq?= =?utf-8?q?Sr6JGAL/P+w2vjrgBUDDGdENuWkmPwhSym1LWw7fmZO0KKIMeiboQMO2w6Mv4nmvx?= =?utf-8?q?ajM2jNVFsRCUbuOvN7sMaYhGfCmZff3sAMOdyr2vVy3GPMnlLLgtvSJeqPtu3YfDx?= =?utf-8?q?ymI74y+NFVEfth8XQECUXx76XeXVdvZlUnb5binhY/Bbuiz0fUO3ySce2AAf4jbWw?= =?utf-8?q?T5uHoYxlTd/8j+Oe+0jygkz/xBJDZg+TFkJ+EWfOM510NyJWFTr7xkmvFPKPkQTL9?= =?utf-8?q?0sxzLwEIxVm9e8LYl4pVrcVWnTtsBU76X+PP9iIJxPIScShlzs4PsNDSUrrFshriO?= =?utf-8?q?OBumZDu5kjkjiNFJEOe6gIavNmEYVrov9kJtsF0fz5W+9KJFU6OrJTAZjo68Lc8Xi?= =?utf-8?q?UsAQPZgWfXb7m4p0TBhctRp3nK2bQ7cviU1yIgP80Hl9/7qKi0goJ62fg9YkF5PxV?= =?utf-8?q?fd8+/CLzyUZ1Qpjp/snOyf7Xqj0Vs+d1ujQQ18N3eDd+4QPKOpVHT2ZLAx43b7gcG?= =?utf-8?q?NmxI1qu8vjOrXNvA9NnQXdLW0rlFVGA7/SR+MuCE1c7ejMV1w1Sdao/kPOSkF1e83?= =?utf-8?q?imShXRef7X4CO6a9fZ3aZCq3WAA/iymPDi/ErJqu1m7nZVVUQKAa30uFocWO4t/Ik?= =?utf-8?q?6jBlDY4j6gH6Vf3ad6s84Xcvz3ALoJ2lRRUwTwAjEqXokckLtcCqGERb1CYjzl3im?= =?utf-8?q?Fk4yLt10mxiiW1YWzZdGC3fJBmYowYYoOKPvDchZMe5HBLmeM4jFUxLr8zoBgOL+g?= =?utf-8?q?UffkS8DYwaq3LfZzCzkm+hiYE5i4cGesMAmHix0k6vWvczJfWLunrdl7BD8msMutu?= =?utf-8?q?Gbg5Dze3GsrxZtxFug//+PZUVAcHn8E+zdOtcM67jyx6YSgwocIab7Q812+mPJqSM?= =?utf-8?q?HY0w7t2mUqc9tZUtnApwpRmKOXSB7ae+lr6fvI44hNWW+zodNqgErYA2mgMFRyMa9?= =?utf-8?q?eIpaCj8IHIyjWaDTRAWiv63aHlizpQX4DI4dO59PjQ+XTLCoDwkwSuVoVBT6LswOc?= =?utf-8?q?D3TezAgBw2bwM6jJgtkBL/qAEorWg+c9yQ=3D=3D?= X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5cfa9c4-1fd0-4d9e-d1f1-08dc902ce05b X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB5989.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2024 06:55:59.9014 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CCGdOPsSmf/I47A63ytWzDfveRWeXSlELizQbFsJIO8ZNOTsRXzFQR6HnCkzZdK7VNISJ/urKMZKvG070pk4BHabNADCUDKcxnclhFSFLb0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR05MB7544 Subject: [ovs-dev] [PATCH v3 1/1] datapath-windows : Correct the failure handling in OvsInitConntrack. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Wilson Peng via dev From: Wilson Peng Reply-To: Wilson Peng Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Wilson Peng v2-v3 change: Remove the unneeded sanity check and just correct 3 failure for function ObReferenceObjectByHandle, zoneInfo allocated failed and OvsNatInit is failed on OvsInitConntrack. While deploying Tanzu Kubernetes(Antrea based solution) in Broadcom customer, Sometimes it is found that the kernel thread OvsConntrackEntryCleaner is not Started after the Windows node is rebooted on unexpected condition. It could Be also observed a similar issue in local Antrea setup via Clean-AntreaNetwork.ps1 Which will Remove-VMSwitch and re-create it on Windows node. After checking the local conntrack dump, OVS doesn’t remove the connection Entries even though the time is overdue, we could find the connection entries Created several hours ago in the dump, within a state (TIME_WAIT) that was Supposed to be deleted earlier. At that time, the count of the existing entries In the OVS conntrack zone is far from the up limit, the actual number is 19k. Then we tried to flush the conntrack with CMD "ovs-dpctl.exe flush-conntrack" And all the conntrack entries could be removed. In this patch, it is correcting 3 possible wrong failure processing.The 1st is for Failed call ObReferenceObjectByHandle and the 2nd one is when zoneInfo is allocated Failed it should also stop the cleanup thread firstly. The 3rd one failure is the Possible wrong return value when OvsNatInit is failed to call on OvsInitConntrack. Antrea team does help do the regression test with build including the patch And it could PASS the testing. And it is not find the Connectract not timeout Essue with same reproducing condition. It is good to backport the fix to main and backported until 2.17. Signed-off-by: Wilson Peng --- datapath-windows/ovsext/Conntrack-nat.c | 2 +- datapath-windows/ovsext/Conntrack.c | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/datapath-windows/ovsext/Conntrack-nat.c b/datapath-windows/ovsext/Conntrack-nat.c index 497354ec8..a222f6aea 100644 --- a/datapath-windows/ovsext/Conntrack-nat.c +++ b/datapath-windows/ovsext/Conntrack-nat.c @@ -108,6 +108,7 @@ NTSTATUS OvsNatInit() OVS_CT_POOL_TAG); if (ovsUnNatTable == NULL) { OvsFreeMemoryWithTag(ovsNatTable, OVS_CT_POOL_TAG); + ovsNatTable = NULL; return STATUS_INSUFFICIENT_RESOURCES; } @@ -157,7 +158,6 @@ VOID OvsNatFlush(UINT16 zone) VOID OvsNatCleanup() { if (ovsNatTable == NULL) { - NdisFreeSpinLock(&ovsCtNatLock); return; } diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c index 39ba5cc10..156861d6c 100644 --- a/datapath-windows/ovsext/Conntrack.c +++ b/datapath-windows/ovsext/Conntrack.c @@ -94,16 +94,28 @@ OvsInitConntrack(POVS_SWITCH_CONTEXT context) if (status != STATUS_SUCCESS) { goto freeBucketLock; } - - ObReferenceObjectByHandle(threadHandle, SYNCHRONIZE, NULL, KernelMode, - &ctThreadCtx.threadObject, NULL); + ctThreadCtx.exit = 0; + status = ObReferenceObjectByHandle(threadHandle, SYNCHRONIZE, NULL, KernelMode, + &ctThreadCtx.threadObject, NULL); ZwClose(threadHandle); threadHandle = NULL; + if (!NT_SUCCESS(status)) { + ctThreadCtx.exit = 1; + KeSetEvent(&ctThreadCtx.event, 0, FALSE); + KeWaitForSingleObject(ctThreadCtx.threadObject, Executive, + KernelMode, FALSE, NULL); + goto freeBucketLock; + } zoneInfo = OvsAllocateMemoryWithTag(sizeof(OVS_CT_ZONE_INFO) * CT_MAX_ZONE, OVS_CT_POOL_TAG); if (zoneInfo == NULL) { status = STATUS_INSUFFICIENT_RESOURCES; + ctThreadCtx.exit = 1; + KeSetEvent(&ctThreadCtx.event, 0, FALSE); + KeWaitForSingleObject(ctThreadCtx.threadObject, Executive, + KernelMode, FALSE, NULL); + ObDereferenceObject(ctThreadCtx.threadObject); goto freeBucketLock; } @@ -119,7 +131,7 @@ OvsInitConntrack(POVS_SWITCH_CONTEXT context) if (status != STATUS_SUCCESS) { OvsCleanupConntrack(); } - return STATUS_SUCCESS; + return status; freeBucketLock: for (UINT32 i = 0; i < numBucketLocks; i++) { @@ -172,6 +184,7 @@ OvsCleanupConntrack(VOID) NdisFreeSpinLock(&ovsCtZoneLock); if (zoneInfo) { OvsFreeMemoryWithTag(zoneInfo, OVS_CT_POOL_TAG); + zoneInfo = NULL; } } @@ -1520,6 +1533,8 @@ OvsConntrackEntryCleaner(PVOID data) LOCK_STATE_EX lockState; BOOLEAN success = TRUE; + OVS_LOG_INFO("Start the OVS ConntrackEntry Cleaner system thread," + " context: %p", context); while (success) { if (context->exit) { break; @@ -1541,6 +1556,7 @@ OvsConntrackEntryCleaner(PVOID data) KeWaitForSingleObject(&context->event, Executive, KernelMode, FALSE, (LARGE_INTEGER *)&threadSleepTimeout); } + OVS_LOG_INFO("Terminate the OVS ConntrackEntry Cleaner system thread"); PsTerminateSystemThread(STATUS_SUCCESS); }