-enum {
- CLS_INC_EXACT = 1 << 0, /* Include exact-match flows? */
- CLS_INC_WILD = 1 << 1, /* Include flows with wildcards? */
- CLS_INC_ALL = CLS_INC_EXACT | CLS_INC_WILD
-};
+void cls_rule_init(struct cls_rule *, const struct match *,
+ unsigned int priority);
+void cls_rule_init_from_minimatch(struct cls_rule *, const struct minimatch *,
+ unsigned int priority);
+void cls_rule_clone(struct cls_rule *, const struct cls_rule *);
+void cls_rule_destroy(struct cls_rule *);
+
+bool cls_rule_equal(const struct cls_rule *, const struct cls_rule *);
+uint32_t cls_rule_hash(const struct cls_rule *, uint32_t basis);