[ovs-dev] [PATCH] ofproto: Fix is_flow_deletion_pending() false positive.
Ethan Jackson
ethan at nicira.com
Thu May 1 00:29:01 UTC 2014
If one tries to install a rule that's identical to another rule in
another OpenFlow table which is being deleted, it's possible that
is_flow_deletion_pending() might confuse them and block the
installation. This is such an edge case I doubt it has ever actually
happened.
Found by inspection.
Signed-off-by: Ethan Jackson <ethan at nicira.com>
---
ofproto/ofproto.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 208efc1..eb1f3be 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -3953,7 +3953,8 @@ is_flow_deletion_pending(const struct ofproto *ofproto,
HMAP_FOR_EACH_WITH_HASH (op, hmap_node,
cls_rule_hash(cls_rule, table_id),
&ofproto->deletions) {
- if (cls_rule_equal(cls_rule, &op->rule->cr)) {
+ if (op->rule->table_id == table_id
+ && cls_rule_equal(cls_rule, &op->rule->cr)) {
return true;
}
}
--
1.8.1.2
More information about the dev
mailing list