From: Ben Pfaff Date: Thu, 5 Mar 2009 21:36:37 +0000 (-0800) Subject: secchan: Revalidate subrules when adding a wildcarded rule without displacement. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc28a56b81c20745b5f57f203a85c5c6dce63aaf;p=openvswitch secchan: Revalidate subrules when adding a wildcarded rule without displacement. Natasha noticed that adding a rule would not properly change the destinations of already-established flows. This should fix the problem. --- diff --git a/secchan/ofproto.c b/secchan/ofproto.c index 00f71731..2e460ee5 100644 --- a/secchan/ofproto.c +++ b/secchan/ofproto.c @@ -2148,6 +2148,10 @@ add_flow(struct ofproto *p, struct ofconn *ofconn, free_actions(&actions); } rule_destroy(displaced_rule); + } else { + /* No rule was exactly displaced, so we might need to change the + * rule that arbitrary subrules correspond to. */ + p->need_revalidate = true; } } else { struct odp_flow odp_flow;