ofproto: Correctly credit stats for displaced rules.
authorJesse Gross <jesse@nicira.com>
Thu, 12 Nov 2009 20:44:44 +0000 (12:44 -0800)
committerJesse Gross <jesse@nicira.com>
Thu, 12 Nov 2009 22:31:39 +0000 (14:31 -0800)
When a rule displaces another, we are supposed to credit the stats
for packets that have already been processed to the displaced rule
before we eject it from the datapath.  However, we were instead
crediting the new rule.

secchan/ofproto.c

index cfaf0cf..200633e 100644 (file)
@@ -1625,7 +1625,7 @@ rule_install(struct ofproto *p, struct rule *rule, struct rule *displaced_rule)
                          &put)) {
             rule->installed = true;
             if (displaced_rule) {
-                update_stats(p, rule, &put.flow.stats);
+                update_stats(p, displaced_rule, &put.flow.stats);
                 rule_post_uninstall(p, displaced_rule);
             }
         }