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 <joestringer@nicira.com>
Acked-by: Alex Wang <alexw@nicira.com>
ukey = ukey_lookup(udpif, key, key_len, hash);
used = stats->used;
ukey = ukey_lookup(udpif, key, key_len, hash);
used = stats->used;
ovs_mutex_lock(&ukey->mutex);
if (ukey->mark || !ukey->flow_exists) {
ovs_mutex_lock(&ukey->mutex);
if (ukey->mark || !ukey->flow_exists) {
+ if (!used) {
+ used = ukey->created;
+ }
ovs_mutex_unlock(&ukey->mutex);
}
ovs_mutex_unlock(&ukey->mutex);
}