--- openflow-2010-08-17.h	2015-07-23 09:54:15.848479309 -0700
+++ openflow-2010-08-25.h	2015-07-23 09:54:15.852479309 -0700
@@ -566,12 +566,14 @@
 
 struct ofp_instruction {
     uint16_t type;              /* one of OFPI_* */
-    uint8_t table_id;           /* table id for OFPI_GOTO_TABLE */
-    uint8_t pad;
-    uint64_t metadata;          /* metadata for OFPI_WRITE_METADATA */
-    struct ofp_action_header actions[0];        /* actions associated with
+    uint16_t pad;
+    union {
+      uint8_t table_id;           /* table id for OFPI_GOTO_TABLE */
+      uint64_t metadata;          /* metadata for OFPI_WRITE_METADATA */
+      struct ofp_action_header actions[0];        /* actions associated with
                                                    OFPI_WRITE_ACTIONS and
                                                    OFPI_APPLY_ACTIONS */
+    } u;
 };
 OFP_ASSERT(sizeof(ofp_instruction) == 12);
 
