diff options
author | Ben Pfaff <blp@nicira.com> | 2010-11-10 14:39:54 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2010-11-22 10:11:40 -0800 |
commit | d8ae4d672673cd72285eb405a96b4ac3590a7639 (patch) | |
tree | fb6c030b086cc5f2b492d3c4411d12d81c9093b3 /lib/classifier.h | |
parent | 844dff325b1f6a6f520fce9242c85162275ab7ad (diff) |
flow: Fully separate flow_wildcards from OpenFlow wildcard bits.
Originally, wildcards were just the OpenFlow OFPFW_* bits. Then, when
OpenFlow added CIDR masks for IP addresses, struct flow_wildcards was born
with additional members for those masks, derived from the wildcard bits.
Then, when OVS added support for tunnels, we added another bit
NXFW_TUN_ID that coexisted with the OFPFW_*. Later we added even more bits
that do not appear in the OpenFlow 1.0 match structure at all. This had
become really confusing, and the difficulties were especially visible in
the long list of invariants in comments on struct flow_wildcards.
This commit cleanly separates the OpenFlow 1.0 wildcard bits from the
bits used inside Open vSwitch, by defining a new set of bits that are
used only internally to Open vSwitch and converting to and from those
wildcard bits at the point where data comes off or goes onto the wire.
It also moves those functions into ofp-util.[ch] since they are only for
dealing with OpenFlow wire protocol now.
Diffstat (limited to 'lib/classifier.h')
-rw-r--r-- | lib/classifier.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/lib/classifier.h b/lib/classifier.h index d8135e9e..e4b7f5f8 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -72,11 +72,6 @@ void cls_rule_init_exact(const struct flow *, unsigned int priority, struct cls_rule *); void cls_rule_init_catchall(struct cls_rule *, unsigned int priority); -void cls_rule_from_match(const struct ofp_match *, unsigned int priority, - int flow_format, uint64_t cookie, struct cls_rule *); -void cls_rule_to_match(const struct cls_rule *, int flow_format, - struct ofp_match *); - void cls_rule_zero_wildcarded_fields(struct cls_rule *); void cls_rule_set_in_port(struct cls_rule *, uint16_t odp_port); |