[ovs-dev] [PATCH] datapath-windows: Update ct stats when packet is processed by conntrack

Sairam Venugopal vsairam at vmware.com
Thu Apr 26 22:57:54 UTC 2018


Thanks for the patch. Can you update the commit message to better describe the underlying issue?

Prevent conntrack-counters from getting redundantly incremented for recirculated packets.  
The 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.


On 4/25/18, 1:06 PM, "ovs-dev-bounces at openvswitch.org on behalf of Anand Kumar" <ovs-dev-bounces at openvswitch.org on behalf of kumaranand at vmware.com> wrote:

    When ct lookup returns a matching ct entry, increment ct stats
    even if the zone information in conntrack entry does not match with
    Signed-off-by: Anand Kumar <kumaranand at vmware.com>
     datapath-windows/ovsext/Conntrack.c | 7 ++++---
     1 file changed, 4 insertions(+), 3 deletions(-)
    diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
    index 678bedb..add1491 100644
    --- a/datapath-windows/ovsext/Conntrack.c
    +++ b/datapath-windows/ovsext/Conntrack.c
    @@ -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);
    dev mailing list
    dev at openvswitch.org

More information about the dev mailing list