[ovs-dev] [nxm 12/42] classifier: Remove unused functions cls_rule_moved(), cls_rule_replace().

Ben Pfaff blp at nicira.com
Thu Oct 28 17:27:43 UTC 2010


In preparation for rewriting the classifier, remove some functions that
nothing uses and have no tests.
---
 lib/classifier.c |   49 -------------------------------------------------
 lib/classifier.h |    4 ----
 2 files changed, 0 insertions(+), 53 deletions(-)

diff --git a/lib/classifier.c b/lib/classifier.c
index a5eccf5..38a5e2b 100644
--- a/lib/classifier.c
+++ b/lib/classifier.c
@@ -103,55 +103,6 @@ cls_rule_print(const struct cls_rule *rule)
     flow_print(stdout, &rule->flow);
     putc('\n', stdout);
 }
-
-/* Adjusts pointers around 'old', which must be in classifier 'cls', to
- * compensate for it having been moved in memory to 'new' (e.g. due to
- * realloc()).
- *
- * This function cannot be realized in all possible flow classifier
- * implementations, so we will probably have to change the interface if we
- * change the implementation.  Shouldn't be a big deal though. */
-void
-cls_rule_moved(struct classifier *cls, struct cls_rule *old,
-               struct cls_rule *new)
-{
-    if (old != new) {
-        if (new->wc.wildcards) {
-            list_moved(&new->node.list);
-        } else {
-            hmap_node_moved(&cls->exact_table,
-                            &old->node.hmap, &new->node.hmap);
-        }
-    }
-}
-
-/* Replaces 'old', which must be in classifier 'cls', by 'new' (e.g. due to
- * realloc()); that is, after calling this function 'new' will be in 'cls' in
- * place of 'old'.
- *
- * 'new' and 'old' must be exactly the same: wildcard the same fields, have the
- * same fixed values for non-wildcarded fields, and have the same priority.
- *
- * The caller takes ownership of 'old' and is thus responsible for freeing it,
- * etc., as necessary.
- *
- * This function cannot be realized in all possible flow classifier
- * implementations, so we will probably have to change the interface if we
- * change the implementation.  Shouldn't be a big deal though. */
-void
-cls_rule_replace(struct classifier *cls, const struct cls_rule *old,
-                 struct cls_rule *new)
-{
-    assert(old != new);
-    assert(old->wc.wildcards == new->wc.wildcards);
-    assert(old->priority == new->priority);
-
-    if (new->wc.wildcards) {
-        list_replace(&new->node.list, &old->node.list);
-    } else {
-        hmap_replace(&cls->exact_table, &old->node.hmap, &new->node.hmap);
-    }
-}
 
 /* Initializes 'cls' as a classifier that initially contains no classification
  * rules. */
diff --git a/lib/classifier.h b/lib/classifier.h
index c555efe..3ad69e0 100644
--- a/lib/classifier.h
+++ b/lib/classifier.h
@@ -130,10 +130,6 @@ void cls_rule_from_match(const struct ofp_match *, unsigned int priority,
                          struct cls_rule *);
 char *cls_rule_to_string(const struct cls_rule *);
 void cls_rule_print(const struct cls_rule *);
-void cls_rule_moved(struct classifier *,
-                    struct cls_rule *old, struct cls_rule *new);
-void cls_rule_replace(struct classifier *, const struct cls_rule *old,
-                      struct cls_rule *new);
 
 void classifier_init(struct classifier *);
 void classifier_destroy(struct classifier *);
-- 
1.7.1





More information about the dev mailing list