--- openflow-2012-03-06.h	2015-07-23 09:54:17.028479357 -0700
+++ openflow-2012-03-12.h	2015-07-23 09:54:17.032479357 -0700
@@ -858,11 +858,11 @@
  *
  * Prereqs: None.
  *
- * Format: 32-bit integer in network byte order.
+ * Format: 8-bit integer in network byte order.
  * Default value is 0.
  *
  * Masking: Not maskable. */
-#define OXM_OF_METER_COLOR  OXM_HEADER  (0x8000, OFPXMT_OFB_METER_COLOR, 4)
+#define OXM_OF_METER_COLOR  OXM_HEADER  (0x8000, OFPXMT_OFB_METER_COLOR, 1)
 
 /* Header for OXM experimenter match fields. */
 struct ofp_oxm_experimenter_header {
@@ -1073,7 +1073,8 @@
 struct ofp_instruction_write_meter_color {
     uint16_t type;                /* OFPIT_WRITE_METER_COLOR */
     uint16_t len;                 /* Length of this struct in bytes. */
-    uint32_t meter_color;         /* Meter color. */
+    uint8_t meter_color;          /* Meter color. */
+    uint8_t pad[3];               /* Align to 64-bits */
 };
 OFP_ASSERT(sizeof(struct ofp_instruction_write_meter_color) == 8);
 
@@ -1971,7 +1972,7 @@
     uint16_t        flags;            /* All OFPMC_* that apply. */
     uint32_t        meter_id;         /* Meter instance. */
     struct ofp_meter_band_header bands[0]; /* The bands length is
-					 inferred from the length field. */
+                                         inferred from the length field. */
 };
 OFP_ASSERT(sizeof(struct ofp_meter_config_stats) == 8);
 
@@ -1980,7 +1981,9 @@
     uint32_t    max_meter;    /* Maximum number of meters. */
     uint32_t    band_types;   /* Bitmaps of OFPMBT_* values supported. */
     uint32_t    capabilities; /* Bitmaps of "ofp_meter_flags". */
-    uint8_t     pad[4];
+    uint8_t     max_bands;    /* Maximum bands per meters */
+    uint8_t     max_color;    /* Maximum color value */
+    uint8_t     pad[2];
 };
 OFP_ASSERT(sizeof(struct ofp_meter_features_stats) == 16);
 
