X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fclassifier.h;h=2dc0bdf9135551a210dbea0bf056932187bb9463;hb=9ea5d2d58ba8783271d096d417082a8372b87c5d;hp=220a3395e0ba44c54d387a1226429186b84c9ae3;hpb=5ecc9d8156062191f0d53ba3dc2c5776c962b7c5;p=openvswitch diff --git a/lib/classifier.h b/lib/classifier.h index 220a3395..2dc0bdf9 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -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 *);