If ukey_acquire() returns ENOENT, then it is unable to locate the ukey corresponding to the flow and the flow has disappeared since it was dumped. Don't bother deleting the flow in this case, as it will fail.
Signed-off-by: Joe Stringer <joestrin...@nicira.com> --- ofproto/ofproto-dpif-upcall.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index 89de528..f0cd4cc 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -1857,7 +1857,9 @@ revalidate(struct revalidator *revalidator) COVERAGE_INC(upcall_ukey_contention); } else { log_unexpected_flow(f, error); - delete_op_init__(&ops[n_ops++], f); + if (error != ENOENT) { + delete_op_init__(&ops[n_ops++], f); + } } continue; } -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev