* vendor-specific details, followed by at least 64 bytes of the failed
* request.
*
- * It would be better to have type-specific vendor extension, e.g. so that
+ * It would be better to have a type-specific vendor extension, e.g. so that
* OFPET_BAD_ACTION could be used with vendor-specific code values. But
* OFPET_BAD_ACTION and most other standardized types already specify that
* their 'data' values are (the start of) the OpenFlow message being replied
\f
/* OpenFlow vendors.
*
- * These functions map vendor */
+ * These functions map OpenFlow 32-bit vendor IDs (as used in struct
+ * ofp_vendor_header) into 4-bit values to embed in an "int". The 4-bit values
+ * are only used internally in Open vSwitch and never appear on the wire, so
+ * particular codes used are not important.
+ */
+
/* Vendor error numbers currently used in Open vSwitch. */
#define OFPUTIL_VENDORS \
/* vendor name vendor value */ \
* error codes into a single 31-bit space using the following encoding.
* (Bit 31 is unused and assumed 0 to avoid negative "int" values.)
*
- * 31 0
+ * 30 0
* +------------------------------------------------------+
* | 0 | success
* +------------------------------------------------------+
*
* 30 29 0
* +--+---------------------------------------------------+
- * |0 | errno value | errno value
+ * | 0| errno value | errno value
* +--+---------------------------------------------------+
*
* 30 29 26 25 16 15 0
* +--+-------+----------------+--------------------------+
- * |1 | 0 | type | code | standard OpenFlow
+ * | 1| 0 | type | code | standard OpenFlow
* +--+-------+----------------+--------------------------+ error
*
* 30 29 26 25 16 15 0