--- openflow-2013-04-11.h	2015-07-23 09:54:17.432479374 -0700
+++ openflow-2012-09-17.h	2015-07-23 09:54:17.436479374 -0700
@@ -2076,6 +2076,7 @@
     OFPTFPT_WRITE_SETFIELD_MISS    = 13, /* Write Set-Field for table-miss. */
     OFPTFPT_APPLY_SETFIELD         = 14, /* Apply Set-Field property. */
     OFPTFPT_APPLY_SETFIELD_MISS    = 15, /* Apply Set-Field for table-miss. */
+    OFPTFPT_TABLE_SYNC_FROM        = 16, /* Table synchronisation property. */
     OFPTFPT_EXPERIMENTER           = 0xFFFE, /* Experimenter property. */
     OFPTFPT_EXPERIMENTER_MISS      = 0xFFFF, /* Experimenter for table-miss. */
 };
@@ -2161,6 +2162,18 @@
 };
 OFP_ASSERT(sizeof(struct ofp_table_feature_prop_oxm) == 4);
 
+/* Table Synchronise From property */
+struct ofp_table_feature_prop_table_sync_from {
+    uint16_t         type;    /* OFPTFPT_TABLE_SYNC_FROM. */
+    uint16_t         length;  /* Length in bytes of this property. */
+    /* Followed by:
+     *   - Exactly (length - 4) bytes containing the table_ids, then
+     *   - Exactly (length + 7)/8*8 - (length) (between 0 and 7)
+     *     bytes of all-zero bytes */
+    uint8_t          table_sync_from_ids[0];
+};
+OFP_ASSERT(sizeof(struct ofp_table_feature_prop_table_sync_from) == 4);
+
 /* Experimenter table feature property */
 struct ofp_table_feature_prop_experimenter {
     uint16_t         type;    /* One of OFPTFPT_EXPERIMENTER,
