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 cfaf0cf95008466f538892fae2e850667be5f269..200633eb633c6b154a6dfe3cec21d56d0679c1bb 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);
             }
         }