diff options
-rw-r--r-- | datapath-windows/ovsext/Conntrack.c | 5 |
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; |