I added a missing curly bracket to make it compile. Thanks Anand I applied it on master and branch-2.8.
Alin. > -----Original Message----- > From: [email protected] [mailto:ovs-dev- > [email protected]] On Behalf Of [email protected] > Sent: Thursday, September 7, 2017 9:54 PM > To: 'Anand Kumar' <[email protected]>; [email protected] > Subject: Re: [ovs-dev] [PATCH] datapath-windows: Increment ct packet > counters based on ct_state. > > Acked-by: Alin Serdean <[email protected]> > > > -----Original Message----- > > From: [email protected] [mailto:ovs-dev- > > [email protected]] On Behalf Of Anand Kumar > > Sent: Wednesday, September 6, 2017 2:53 AM > > To: [email protected] > > Subject: [ovs-dev] [PATCH] datapath-windows: Increment ct packet > > counters based on ct_state. > > > > For a given packet, packet counters in conntrack should be accounted > > only once, even if the packet is processed multiple times by conntrack. > > > > When a packet is processed by conntrack, ct_state flag is set to > > OVS_CS_F_TRACKED. Use this state to identify if a packet has been > > processed previously by conntrack. > > > > Also update the ct packet counters when ct entry is created. > > > > With this patch, the conntrack's packet counters behavior is similar > > to > linux > > > > Signed-off-by: Anand Kumar <[email protected]> > > --- > > datapath-windows/ovsext/Conntrack.c | 34 +++++++++++++++++++++--- > -- > > -------- > > 1 file changed, 21 insertions(+), 13 deletions(-) > > > > diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath- > > windows/ovsext/Conntrack.c index 8bcda05..0adb6d5 100644 > > --- a/datapath-windows/ovsext/Conntrack.c > > +++ b/datapath-windows/ovsext/Conntrack.c > > @@ -169,6 +169,18 @@ OvsPostCtEventEntry(POVS_CT_ENTRY entry, > UINT8 > > type) > > OvsPostCtEvent(&ctEventEntry); > > } > > > > +static __inline VOID > > +OvsCtIncrementCounters(POVS_CT_ENTRY entry, BOOLEAN reply, > > +PNET_BUFFER_LIST nbl) { > > + if (reply) { > > + entry->rev_key.byteCount+= OvsPacketLenNBL(nbl); > > + entry->rev_key.packetCount++; > > + } else { > > + entry->key.byteCount += OvsPacketLenNBL(nbl); > > + entry->key.packetCount++; > > + } > > +} > > + > > static __inline BOOLEAN > > OvsCtAddEntry(POVS_CT_ENTRY entry, OvsConntrackKeyLookupCtx *ctx, > > PNAT_ACTION_INFO natInfo, UINT64 now) @@ -287,6 +299,9 > > @@ OvsCtEntryCreate(OvsForwardingContext *fwdCtx, > > } > > > > OvsCtUpdateFlowKey(key, state, ctx->key.zone, 0, NULL); > > + if (entry) { > > + OvsCtIncrementCounters(entry, ctx->reply, curNbl); > > + } > > return entry; > > } > > > > @@ -382,18 +397,6 @@ OvsCtKeyAreSame(OVS_CT_KEY ctxKey, > OVS_CT_KEY > > entryKey) > > (ctxKey.zone == entryKey.zone)); } > > > > -static __inline VOID > > -OvsCtIncrementCounters(POVS_CT_ENTRY entry, BOOLEAN reply, > > PNET_BUFFER_LIST nbl) -{ > > - if (reply) { > > - entry->rev_key.byteCount+= OvsPacketLenNBL(nbl); > > - entry->rev_key.packetCount++; > > - } else { > > - entry->key.byteCount += OvsPacketLenNBL(nbl); > > - entry->key.packetCount++; > > - } > > -} > > - > > POVS_CT_ENTRY > > OvsCtLookup(OvsConntrackKeyLookupCtx *ctx) { @@ -730,6 +733,12 @@ > > OvsCtExecute_(OvsForwardingContext *fwdCtx, > > NdisReleaseRWLock(ovsConntrackLockObj, &lockState); > > OVS_LOG_ERROR("Conntrack Limit hit: %lu", ctTotalEntries); > > 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. > > + */ > > + if (entry && (!(key->ct.state & OVS_CS_F_TRACKED))) { > > + OvsCtIncrementCounters(entry, ctx.reply, curNbl); > > } > > > > if (!entry) { > > @@ -740,7 +749,6 @@ OvsCtExecute_(OvsForwardingContext *fwdCtx, > > &entryCreated); > > } else { > > /* Process the entry and update CT flags */ > > - OvsCtIncrementCounters(entry, ctx.reply, curNbl); > > entry = OvsProcessConntrackEntry(fwdCtx, layers->l4Offset, > > &ctx, > key, > > zone, natInfo, commit, > currentTime, > > &entryCreated); > > -- > > 2.9.3.windows.1 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
