--- openflow-2011-03-31-2.h	2015-07-23 09:54:16.540479337 -0700
+++ openflow-2011-08-31.h	2015-07-23 09:54:16.544479337 -0700
@@ -889,6 +889,7 @@
     OFPET_TABLE_MOD_FAILED,     /* Table mod request failed. */
     OFPET_QUEUE_OP_FAILED,      /* Queue operation failed. */
     OFPET_SWITCH_CONFIG_FAILED, /* Switch config request failed. */
+    OFPET_EXPERIMENTER = 0xffff /* Experimenter error messages. */
 };
 
 /* ofp_error_msg 'code' values for OFPET_HELLO_FAILED.  'data' contains an
@@ -1047,6 +1048,19 @@
     uint8_t data[0];          /* Variable-length data.  Interpreted based
                                  on the type and code.  No padding. */
 };
+OFP_ASSERT(sizeof(struct ofp_error_msg) == 12);
+
+/* OFPET_EXPERIMENTER: Error message (datapath -> controller). */
+struct ofp_error_experimenter_msg {
+    struct ofp_header header;
+
+    uint16_t type;            /* OFPET_EXPERIMENTER. */
+    uint16_t exp_type;        /* Experimenter defined. */
+    uint32_t experimenter;    /* Experimenter ID which takes the same form
+                                 as in struct ofp_experimenter_header. */
+    uint8_t data[0];          /* Variable-length data.  Interpreted based
+                                 on the type and code.  No padding. */
+};
 OFP_ASSERT(sizeof(struct ofp_error_msg) == 12);
 
 enum ofp_stats_types {
