[ovs-dev] [PATCH 1/8] Delete meters in the right place.

Jarno Rajahalme jrajahalme at nicira.com
Sun Sep 8 01:27:07 UTC 2013


Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
---
 ofproto/ofproto.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 4d33de7..fe81310 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -1138,11 +1138,6 @@ ofproto_destroy__(struct ofproto *ofproto)
     ovs_assert(list_is_empty(&ofproto->pending));
     ovs_assert(!ofproto->n_pending);
 
-    if (ofproto->meters) {
-        meter_delete(ofproto, 1, ofproto->meter_features.max_meters);
-        free(ofproto->meters);
-    }
-
     delete_group(ofproto, OFPG_ALL);
     ovs_rwlock_destroy(&ofproto->groups_rwlock);
     hmap_destroy(&ofproto->groups);
@@ -1184,6 +1179,13 @@ ofproto_destroy(struct ofproto *p)
         return;
     }
 
+    if (p->meters) {
+        meter_delete(p, 1, p->meter_features.max_meters);
+        p->meter_features.max_meters = 0;
+        free(p->meters);
+        p->meters = NULL;
+    }
+
     ofproto_flush__(p);
     HMAP_FOR_EACH_SAFE (ofport, next_ofport, hmap_node, &p->ports) {
         ofport_destroy(ofport);
-- 
1.7.10.4




More information about the dev mailing list