summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datapath-windows/ovsext/Conntrack.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
index 56a7cbc82..f48278396 100644
--- a/datapath-windows/ovsext/Conntrack.c
+++ b/datapath-windows/ovsext/Conntrack.c
@@ -42,6 +42,8 @@ static PNDIS_RW_LOCK_EX ovsConntrackLockObj;
extern POVS_SWITCH_CONTEXT gOvsSwitchContext;
static UINT64 ctTotalEntries;
+static __inline NDIS_STATUS OvsCtFlush(UINT16 zone);
+
/*
*----------------------------------------------------------------------------
* OvsInitConntrack
@@ -117,6 +119,9 @@ OvsCleanupConntrack(VOID)
KernelMode, FALSE, NULL);
ObDereferenceObject(ctThreadCtx.threadObject);
+ /* Force flush all entries before removing */
+ OvsCtFlush(0);
+
if (ovsConntrackTable) {
OvsFreeMemoryWithTag(ovsConntrackTable, OVS_CT_POOL_TAG);
ovsConntrackTable = NULL;