--- openflow-2014-04-21.h	2015-07-23 09:54:17.796479388 -0700
+++ openflow-2013-10-17.h	2015-07-23 09:54:17.800479389 -0700
@@ -1335,6 +1335,7 @@
     OFPAT_PUSH_PBB     = 26, /* Push a new PBB service tag (I-TAG) */
     OFPAT_POP_PBB      = 27, /* Pop the outer PBB service tag (I-TAG) */
     OFPAT_COPY_FIELD   = 28, /* Copy value between header and register. */
+    OFPAT_METER        = 29, /* Apply meter (rate limiter) */
     OFPAT_EXPERIMENTER = 0xffff
 };
 
@@ -1460,6 +1461,14 @@
 };
 OFP_ASSERT(sizeof(struct ofp_action_copy_field) == 12);
 
+/* Action structure for OFPAT_METER */
+struct ofp_action_meter {
+    uint16_t type;                /* OFPAT_METER */
+    uint16_t len;                 /* Length is 8. */
+    uint32_t meter_id;            /* Meter instance. */
+};
+OFP_ASSERT(sizeof(struct ofp_action_meter) == 8);
+
 /* Action header for OFPAT_EXPERIMENTER.
  * The rest of the body is experimenter-defined. */
 struct ofp_action_experimenter_header {
@@ -1483,7 +1492,7 @@
     OFPIT_APPLY_ACTIONS = 4,    /* Applies the action(s) immediately */
     OFPIT_CLEAR_ACTIONS = 5,    /* Clears all actions from the datapath
                                    action set */
-    OFPIT_METER = 6,            /* Apply meter (rate limiter) */
+    OFPIT_DEPRECATED = 6,       /* Deprecated (was apply meter) */
     OFPIT_STAT_TRIGGER = 7,     /* Statistics triggers */
 
     OFPIT_EXPERIMENTER = 0xFFFF  /* Experimenter instruction */
@@ -1528,14 +1537,6 @@
 };
 OFP_ASSERT(sizeof(struct ofp_instruction_actions) == 8);
 
-/* Instruction structure for OFPIT_METER */
-struct ofp_instruction_meter {
-    uint16_t type;                /* OFPIT_METER */
-    uint16_t len;                 /* Length is 8. */
-    uint32_t meter_id;            /* Meter instance. */
-};
-OFP_ASSERT(sizeof(struct ofp_instruction_meter) == 8);
-
 enum ofp_stat_trigger_flags {
     OFPSTF_PERIODIC    = 1 << 0,  /* Trigger for all multiples of thresholds. */
     OFPSTF_ONLY_FIRST  = 1 << 1,  /* Trigger on only first reach threshold. */
