[ovs-dev] [PATCH] ofproto: Update stats for exact match flows before expiration.
Jesse Gross
jesse at nicira.com
Tue Nov 10 18:10:29 PST 2009
When a wildcarded flow is expired we remove all of the subrules to
collect their stats before sending a flow expiration message. However,
we were only removing exact match flows after the expiration message
is composed. This uninstalls it first.
CC: David Erickson <derickso at stanford.edu>
---
secchan/ofproto.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/secchan/ofproto.c b/secchan/ofproto.c
index 6319b03..89dce12 100644
--- a/secchan/ofproto.c
+++ b/secchan/ofproto.c
@@ -3292,14 +3292,18 @@ expire_rule(struct cls_rule *cls_rule, void *p_)
}
COVERAGE_INC(ofproto_expired);
+
+ /* Update stats. */
if (rule->cr.wc.wildcards) {
- /* Update stats. (This code will be a no-op if the rule expired
+ /* This code will be a no-op if the rule expired
* due to an idle timeout, because in that case the rule has no
- * subrules left.) */
+ * subrules left. */
struct rule *subrule, *next;
LIST_FOR_EACH_SAFE (subrule, next, struct rule, list, &rule->list) {
rule_remove(p, subrule);
}
+ } else {
+ rule_uninstall(p, rule);
}
send_flow_exp(p, rule, now,
--
1.6.0.4
More information about the dev
mailing list