unaligned: Add unaligned accessors for ovs_be<N> data.
[openvswitch] / lib / classifier.h
index 220a3395e0ba44c54d387a1226429186b84c9ae3..2dc0bdf9135551a210dbea0bf056932187bb9463 100644 (file)
@@ -44,7 +44,6 @@ struct cls_table {
     struct hmap rules;          /* Contains "struct cls_rule"s. */
     struct flow_wildcards wc;   /* Wildcards for fields. */
     int n_table_rules;          /* Number of rules, including duplicates. */
-    int n_refs;                 /* Reference count used during iteration. */
 };
 
 /* A flow classification rule.
@@ -71,8 +70,6 @@ void cls_rule_init(const struct flow *, const struct flow_wildcards *,
                    unsigned int priority, struct cls_rule *);
 void cls_rule_init_exact(const struct flow *, unsigned int priority,
                          struct cls_rule *);
-void cls_rule_from_match(const struct ofp_match *, unsigned int priority,
-                         int flow_format, uint64_t cookie, struct cls_rule *);
 void cls_rule_init_catchall(struct cls_rule *, unsigned int priority);
 
 void cls_rule_zero_wildcarded_fields(struct cls_rule *);
@@ -81,10 +78,12 @@ void cls_rule_set_in_port(struct cls_rule *, uint16_t odp_port);
 void cls_rule_set_dl_type(struct cls_rule *, ovs_be16);
 void cls_rule_set_dl_src(struct cls_rule *, const uint8_t[6]);
 void cls_rule_set_dl_dst(struct cls_rule *, const uint8_t[6]);
-bool cls_rule_set_dl_tci(struct cls_rule *, ovs_be16 tci);
-bool cls_rule_set_dl_tci_masked(struct cls_rule *,
+void cls_rule_set_dl_tci(struct cls_rule *, ovs_be16 tci);
+void cls_rule_set_dl_tci_masked(struct cls_rule *,
                                 ovs_be16 tci, ovs_be16 mask);
+void cls_rule_set_any_vid(struct cls_rule *);
 void cls_rule_set_dl_vlan(struct cls_rule *, ovs_be16);
+void cls_rule_set_any_pcp(struct cls_rule *);
 void cls_rule_set_dl_vlan_pcp(struct cls_rule *, uint8_t);
 void cls_rule_set_tp_src(struct cls_rule *, ovs_be16);
 void cls_rule_set_tp_dst(struct cls_rule *, ovs_be16);
@@ -97,6 +96,8 @@ void cls_rule_set_nw_tos(struct cls_rule *, uint8_t);
 void cls_rule_set_icmp_type(struct cls_rule *, uint8_t);
 void cls_rule_set_icmp_code(struct cls_rule *, uint8_t);
 
+bool cls_rule_equal(const struct cls_rule *, const struct cls_rule *);
+
 char *cls_rule_to_string(const struct cls_rule *);
 void cls_rule_print(const struct cls_rule *);
 
@@ -113,11 +114,6 @@ bool classifier_rule_overlaps(const struct classifier *,
 
 typedef void cls_cb_func(struct cls_rule *, void *aux);
 
-void classifier_for_each(const struct classifier *,
-                         cls_cb_func *, void *aux);
-void classifier_for_each_match(const struct classifier *,
-                               const struct cls_rule *,
-                               cls_cb_func *, void *aux);
 struct cls_rule *classifier_find_rule_exactly(const struct classifier *,
                                               const struct cls_rule *);
 \f