--- openflow-2014-05-05-2.h	2015-07-23 09:54:17.888479392 -0700
+++ openflow-2014-10-21.h	2015-07-23 09:54:17.896479393 -0700
@@ -2104,6 +2104,11 @@
     OFPTFFC_BAD_TABLE    = 0,      /* Specified table does not exist. */
     OFPTFFC_BAD_METADATA = 1,      /* Invalid metadata mask. */
     OFPTFFC_EPERM        = 5,      /* Permissions error. */
+    OFPTFFC_BAD_CAPA     = 6,      /* Invalid capability field. */
+    OFPTFFC_BAD_MAX_ENT  = 7,      /* Invalid max_entries field. */
+    OFPTFFC_BAD_FEATURES = 8,      /* Invalid features field. */
+    OFPTFFC_BAD_COMMAND  = 9,      /* Invalid command. */
+    OFPTFFC_TOO_MANY     = 10,     /* Can't handle this many flow tables. */
 };
 
 /* ofp_error_msg 'code' values for OFPET_BAD_PROPERTY. 'data' contains at least
@@ -2572,13 +2577,21 @@
     OFPTFF_EGRESS_TABLE      = 1 << 1, /* Can be configured as egress table. */
 };
 
+/* Table Features request commands */
+enum ofp_table_features_command {
+    OFPTFC_REPLACE = 0,       /* Replace full pipeline. */
+    OFPTFC_MODIFY  = 1,       /* Modify flow tables capabilities. */
+    OFPTFC_ENABLE  = 2,       /* Enable flow tables in the pipeline. */
+    OFPTFC_DISABLE = 3,       /* Disable flow tables in pipeline. */
+};
+
 /* Body for ofp_multipart_request of type OFPMP_TABLE_FEATURES./
  * Body of reply to OFPMP_TABLE_FEATURES request. */
 struct ofp_table_features {
     uint16_t length;         /* Length is padded to 64 bits. */
     uint8_t table_id;        /* Identifier of table.  Lower numbered tables
                                 are consulted first. */
-    uint8_t pad[1];          /* Align to 64-bits. */
+    uint8_t command;         /* One of OFPTFC_*. */
     uint32_t features;       /* Bitmap of OFPTFF_* values. */
     char name[OFP_MAX_TABLE_NAME_LEN];
     uint64_t metadata_match; /* Bits of metadata table can match. */
