Commit 73a3c4757e59 (revalidator: Prevent handling the same flow twice.) fixed a bug where duplicated flows could be deleted twice. Commit 7d1700980b5d (ofproto-dpif-upcall: Remove the flow_dumper thread.) partially re-introduced this bug.
The bug would cause the logs to show messages such as "failed to flow_get (No such file or directory) skb_priority(0),..." "failed to flow_del (No such file or directory) skb_priority(0),..." This patch fixes the issue again. Signed-off-by: Joe Stringer <joestrin...@nicira.com> --- ofproto/ofproto-dpif-upcall.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index 03b1332..3e8dda5 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -1482,12 +1482,14 @@ revalidate(struct revalidator *revalidator) hash); bool mark; - if (!used && ukey) { + if (ukey) { bool already_dumped; ovs_mutex_lock(&ukey->mutex); already_dumped = ukey->mark || !ukey->flow_exists; - used = ukey->created; + if (!used) { + used = ukey->created; + } ovs_mutex_unlock(&ukey->mutex); if (already_dumped) { -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev