datapath-windows: Prevent ct-counters from getting redundantly incremented
The conntrack-counters ought to be incremented only if it's a new lookup
or if it's recirculated through a different zone for the first time.
Acked-by: Alin Gabriel Serdean
@@ -886,10 +886,11 @@ OvsCtExecute_(OvsForwardingContext *fwdCtx,
return NDIS_STATUS_RESOURCES;
}
- /* Increment the counters soon after the lookup, since we set ct.state
- * to OVS_CS_F_TRACKED after processing the ct entry.
+ /* Increment stats for the entry if it wasn't tracked previously or
+ * if they are on different zones
*/
- if (entry && (!(key->ct.state & OVS_CS_F_TRACKED))) {
+ if (entry && (entry->key.zone != key->ct.zone ||
+ (!(key->ct.state & OVS_CS_F_TRACKED)))) {
OvsCtIncrementCounters(entry, ctx.reply, curNbl);
}
