X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fofp-util.h;h=4bd5a0014e98d3ccc2b14395cc1ae2a3ddd84d60;hb=3f30071d5ae2532d8902ae4f2afa7076cfbfa070;hp=ede54cca282a095dba8618cc86fb699d54dd1f06;hpb=8010100bb17598479d1b3bb06452546075038f6f;p=openvswitch diff --git a/lib/ofp-util.h b/lib/ofp-util.h index ede54cca..4bd5a001 100644 --- a/lib/ofp-util.h +++ b/lib/ofp-util.h @@ -98,6 +98,36 @@ char *ofputil_protocols_to_string(enum ofputil_protocol); enum ofputil_protocol ofputil_protocols_from_string(const char *); enum ofputil_protocol ofputil_usable_protocols(const struct match *); +void ofputil_format_version(struct ds *, enum ofp_version); +void ofputil_format_version_name(struct ds *, enum ofp_version); + +/* A bitmap of version numbers + * + * Bit offsets correspond to ofp_version numbers which in turn correspond to + * wire-protocol numbers for Open Flow versions.. E.g. (1u << OFP11_VERSION) + * is the mask for Open Flow 1.1. If the bit for a version is set then it is + * allowed, otherwise it is disallowed. */ + +void ofputil_format_version_bitmap(struct ds *msg, uint32_t bitmap); +void ofputil_format_version_bitmap_names(struct ds *msg, uint32_t bitmap); + +/* Bitmap of OpenFlow versions that Open vSwitch supports. */ +#define OFPUTIL_SUPPORTED_VERSIONS \ + ((1u << OFP10_VERSION) | (1u << OFP12_VERSION)) + +/* Bitmap of OpenFlow versions to enable by default (a subset of + * OFPUTIL_SUPPORTED_VERSIONS). */ +#define OFPUTIL_DEFAULT_VERSIONS (1u << OFP10_VERSION) + +enum ofputil_protocol ofputil_protocols_from_string(const char *s); + +const char *ofputil_version_to_string(enum ofp_version ofp_version); +uint32_t ofputil_versions_from_string(const char *s); + +bool ofputil_decode_hello(const struct ofp_header *, + uint32_t *allowed_versions); +struct ofpbuf *ofputil_encode_hello(uint32_t version_bitmap); + struct ofpbuf *ofputil_encode_set_protocol(enum ofputil_protocol current, enum ofputil_protocol want, enum ofputil_protocol *next); @@ -540,6 +570,7 @@ bool ofputil_frag_handling_from_string(const char *, enum ofp_config_flags *); * OFPUTIL_OFPAT10_ENQUEUE * OFPUTIL_NXAST_RESUBMIT * OFPUTIL_NXAST_SET_TUNNEL + * OFPUTIL_NXAST_SET_METADATA * OFPUTIL_NXAST_SET_QUEUE * OFPUTIL_NXAST_POP_QUEUE * OFPUTIL_NXAST_REG_MOVE