in-band: Refactor slightly to be easier to understand.
authorBen Pfaff <blp@nicira.com>
Tue, 20 Apr 2010 21:06:25 +0000 (14:06 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 26 Apr 2010 16:51:10 +0000 (09:51 -0700)
Suggested-by: Justin Pettit <jpettit@nicira.com>
ofproto/in-band.c

index d918d7134b8514a0ecfcd6ad88db765c7e22df9b..4efcbca66359fa1f3d189cf63068741a0899ef60 100644 (file)
@@ -625,20 +625,6 @@ make_rules(struct in_band *ib,
     }
 }
 
-static void
-clear_rules(struct in_band *ib)
-{
-    memset(ib->installed_local_mac, 0, sizeof ib->installed_local_mac);
-
-    free(ib->remote_ips);
-    ib->remote_ips = NULL;
-    ib->n_remote_ips = 0;
-
-    free(ib->remote_macs);
-    ib->remote_macs = NULL;
-    ib->n_remote_macs = 0;
-}
-
 static void
 drop_rule(struct in_band *ib, const struct in_band_rule *rule)
 {
@@ -646,11 +632,25 @@ drop_rule(struct in_band *ib, const struct in_band_rule *rule)
                         rule->wildcards, rule->priority);
 }
 
+/* Drops from the flow table all of the flows set up by 'ib', then clears out
+ * the information about the installed flows so that they can be filled in
+ * again if necessary. */
 static void
 drop_rules(struct in_band *ib)
 {
+    /* Drop rules. */
     make_rules(ib, drop_rule);
-    clear_rules(ib);
+
+    /* Clear out state. */
+    memset(ib->installed_local_mac, 0, sizeof ib->installed_local_mac);
+
+    free(ib->remote_ips);
+    ib->remote_ips = NULL;
+    ib->n_remote_ips = 0;
+
+    free(ib->remote_macs);
+    ib->remote_macs = NULL;
+    ib->n_remote_macs = 0;
 }
 
 static void
@@ -666,6 +666,7 @@ add_rule(struct in_band *ib, const struct in_band_rule *rule)
                      rule->priority, &action, 1, 0);
 }
 
+/* Inserts flows into the flow table for the current state of 'ib'. */
 static void
 add_rules(struct in_band *ib)
 {