ofproto: Inline trivial functions.
[sliver-openvswitch.git] / lib / classifier.h
index b6b89a0..9022fab 100644 (file)
  * The classifier may safely be accessed by many reader threads concurrently or
  * by a single writer. */
 
+#include "fat-rwlock.h"
 #include "flow.h"
 #include "hindex.h"
 #include "hmap.h"
@@ -254,7 +255,7 @@ struct classifier {
     struct list subtables_priority; /* Subtables in descending priority order.
                                      */
     struct hmap partitions;     /* Contains "struct cls_partition"s. */
-    struct ovs_rwlock rwlock OVS_ACQ_AFTER(ofproto_mutex);
+    struct fat_rwlock rwlock OVS_ACQ_AFTER(ofproto_mutex);
     struct cls_trie tries[CLS_MAX_TRIES]; /* Prefix tries. */
     unsigned int n_tries;
 };
@@ -345,6 +346,9 @@ struct cls_rule *classifier_lookup(const struct classifier *cls,
                                    const struct flow *,
                                    struct flow_wildcards *)
     OVS_REQ_RDLOCK(cls->rwlock);
+struct cls_rule *classifier_lookup_miniflow_first(const struct classifier *cls,
+                                                  const struct miniflow *)
+    OVS_REQ_RDLOCK(cls->rwlock);
 bool classifier_rule_overlaps(const struct classifier *cls,
                               const struct cls_rule *)
     OVS_REQ_RDLOCK(cls->rwlock);