git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofproto: Inline trivial functions.
[sliver-openvswitch.git]
/
lib
/
classifier.h
diff --git
a/lib/classifier.h
b/lib/classifier.h
index
b6b89a0
..
9022fab
100644
(file)
--- a/
lib/classifier.h
+++ b/
lib/classifier.h
@@
-213,6
+213,7
@@
* The classifier may safely be accessed by many reader threads concurrently or
* by a single writer. */
* 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"
#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 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;
};
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);
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);
bool classifier_rule_overlaps(const struct classifier *cls,
const struct cls_rule *)
OVS_REQ_RDLOCK(cls->rwlock);