--- openflow-2013-11-13.h	2015-07-23 09:54:17.656479383 -0700
+++ openflow-2013-12-16.h	2015-07-23 09:54:17.664479383 -0700
@@ -378,6 +378,8 @@
 enum ofp_port_desc_prop_type {
     OFPPDPT_ETHERNET          = 0,      /* Ethernet property. */
     OFPPDPT_OPTICAL           = 1,      /* Optical property. */
+    OFPPDPT_PIPELINE_INPUT    = 2,      /* Ingress pipeline fields. */
+    OFPPDPT_PIPELINE_OUTPUT   = 3,      /* Egress pipeline fields. */
     OFPPDPT_EXPERIMENTER      = 0xFFFF, /* Experimenter property. */
 };
 
@@ -431,6 +433,19 @@
 };
 OFP_ASSERT(sizeof(struct ofp_port_desc_prop_optical) == 40);
 
+/* Ingress or egress pipeline fields. */
+struct ofp_port_desc_prop_oxm {
+    uint16_t         type;    /* One of OFPPDPT_PIPELINE_INPUT or
+                                 OFPPDPT_PIPELINE_OUTPUT. */
+    uint16_t         length;  /* Length in bytes of this property. */
+    /* Followed by:
+     *   - Exactly (length - 4) bytes containing the oxm_ids, then
+     *   - Exactly (length + 7)/8*8 - (length) (between 0 and 7)
+     *     bytes of all-zero bytes */
+    uint32_t         oxm_ids[0];   /* Array of OXM headers */
+};
+OFP_ASSERT(sizeof(struct ofp_port_desc_prop_oxm) == 4);
+
 /* Experimenter port description property. */
 struct ofp_port_desc_prop_experimenter {
     uint16_t         type;    /* OFPPDPT_EXPERIMENTER. */
