Hi Darrell,
      I'm currently doing some tests on OVS-DPDK and trying to optimize it, in 
the process I found your patch(28274f7 conntrack: Fix missed 'conn' lookup 
checks.) made OVS check for the presence of the 'conn' entry before inserting 
it:

@@ -1158,8 +1165,11 @@ process_one(struct conntrack *ct, struct dp_packet *pkt,
        ovs_rwlock_unlock(&ct->resources_lock);

        ovs_mutex_lock(&ct->ct_lock);
-        conn = conn_not_found(ct, pkt, ctx, commit, now, nat_action_info,
-                              helper, alg_exp, ct_alg_ctl);
+        hash = conn_key_hash(&ctx->key, ct->hash_basis);
+        if (!conn_key_lookup(ct, &ctx->key, hash, now, NULL, NULL)) {
+            conn = conn_not_found(ct, pkt, ctx, commit, now, nat_action_info,
+                                  helper, alg_exp, ct_alg_ctl);
+        }
        ovs_mutex_unlock(&ct->ct_lock);
    }

      I'm very confused about the reason we should do this, you mentioned that 
there were some cases that were missed, so fix them, could you please explain 
what scenarios we need to do this?

Thank You,
Avis
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to