+ const char *oxm_name; /* The oxm_header constant's name */
+
+ /* Usable protocols.
+ * NXM and OXM are extensible, allowing later extensions to be sent in
+ * earlier protocol versions, so this does not necessarily correspond to
+ * the OpenFlow protocol version the field was introduced in.
+ * Also, some field types are tranparently mapped to each other via the
+ * struct flow (like vlan and dscp/tos fields), so each variant supports
+ * all protocols. */
+ enum ofputil_protocol usable_protocols; /* If fully/cidr masked. */
+ /* If partially/non-cidr masked. */
+ enum ofputil_protocol usable_protocols_bitwise;
+
+ int flow_be32ofs; /* Field's be32 offset in "struct flow", if prefix tree
+ * lookup is supported for the field, or -1. */