ofp-util: Add functions for working with OpenFlow 1.1 port numbers.
[sliver-openvswitch.git] / include / openflow / openflow-1.1.h
index 8b407e3..93002af 100644 (file)
 
 #include "openflow/openflow-common.h"
 
-/* Nothing here yet. */
+/* OpenFlow 1.1 uses 32-bit port numbers.  Open vSwitch, for now, uses OpenFlow
+ * 1.0 port numbers internally.  We map them to OpenFlow 1.0 as follows:
+ *
+ * OF1.1                    <=>  OF1.0
+ * -----------------------       ---------------
+ * 0x00000000...0x0000feff  <=>  0x0000...0xfeff  "physical" ports
+ * 0x0000ff00...0xfffffeff  <=>  not supported
+ * 0xffffff00...0xffffffff  <=>  0xff00...0xffff  "reserved" OFPP_* ports
+ *
+ * OFPP11_OFFSET is the value that must be added or subtracted to convert
+ * an OpenFlow 1.0 reserved port number to or from, respectively, the
+ * corresponding OpenFlow 1.1 reserved port number.
+ */
+#define OFPP11_MAX    0xffffff00
+#define OFPP11_OFFSET (OFPP11_MAX - OFPP_MAX)
 
 #endif /* openflow/openflow-1.1.h */