--- openflow-2012-03-07-2.h	2015-07-23 09:54:16.928479353 -0700
+++ openflow-2012-03-09.h	2015-07-23 09:54:16.932479353 -0700
@@ -147,7 +147,9 @@
     OFPT_ROLE_REPLY         = 25, /* Controller/switch message */
 
     /* Asynchronous message configuration. */
-    OFPT_SET_ASYNC_CONFIG   = 26, /* Controller/switch message */
+    OFPT_GET_ASYNC_REQUEST  = 26, /* Controller/switch message */
+    OFPT_GET_ASYNC_REPLY    = 27, /* Controller/switch message */
+    OFPT_SET_ASYNC          = 28, /* Controller/switch message */
 };
 
 /* Header on all OpenFlow packets. */
@@ -1916,12 +1918,12 @@
 };
 OFP_ASSERT(sizeof(struct ofp_role_request) == 24);
 
-/* Configures asynchronous messages for the current connection. */
+/* Asynchronous message configuration. */
 struct ofp_async_config {
-    struct ofp_header header;      /* Type OFPT_SET_ASYNC_CONFIG. */
-    uint32_t packet_in_mask[2];    /* Bitmasks of OFPR_* values. */
-    uint32_t port_status_mask[2];  /* Bitmasks of OFPPR_* values. */
-    uint32_t flow_removed_mask[2]; /* Bitmasks of OFPRR_* values. */
+    struct ofp_header header;     /* OFPT_GET_ASYNC_REPLY or OFPT_SET_ASYNC. */
+    uint32_t packet_in_mask[2];   /* Bitmasks of OFPR_* values. */
+    uint32_t port_status_mask[2]; /* Bitmasks of OFPPR_* values. */
+    uint32_t flow_removed_mask[2];/* Bitmasks of OFPRR_* values. */
 };
 OFP_ASSERT(sizeof(struct ofp_async_config) == 32);
 
