ofproto: Reset facet's rs_used at rule changes.
authorEthan Jackson <ethan@nicira.com>
Thu, 24 Feb 2011 20:38:30 +0000 (12:38 -0800)
committerEthan Jackson <ethan@nicira.com>
Thu, 24 Feb 2011 22:33:16 +0000 (14:33 -0800)
When a facet changes rules it's 'used' timer is set to the new
rule's created time.  This is possibly before the time stored in
'rs_used' which could cause an assertion failure in
facet_push_stats().

Bug #4732.

ofproto/ofproto.c

index 8af18145b671de8743b024a8a7bdca87d1096caa..456dcb1971401090b474f96c52fa5053c51b24c1 100644 (file)
@@ -2566,6 +2566,7 @@ facet_revalidate(struct ofproto *ofproto, struct facet *facet)
         list_push_back(&new_rule->facets, &facet->list_node);
         facet->rule = new_rule;
         facet->used = new_rule->created;
+        facet->rs_used = facet->used;
     }
 
     ofpbuf_delete(odp_actions);