--- openflow-2012-03-09-2.h	2015-07-23 09:54:17.044479358 -0700
+++ openflow-2012-03-14.h	2015-07-23 09:54:17.048479358 -0700
@@ -1839,8 +1839,11 @@
     uint64_t rx_over_err;    /* Number of packets with RX overrun. */
     uint64_t rx_crc_err;     /* Number of CRC errors. */
     uint64_t collisions;     /* Number of collisions. */
+    uint32_t duration_sec;   /* Time port has been alive in seconds. */
+    uint32_t duration_nsec;  /* Time port has been alive in nanoseconds beyond
+                                duration_sec. */
 };
-OFP_ASSERT(sizeof(struct ofp_port_stats) == 104);
+OFP_ASSERT(sizeof(struct ofp_port_stats) == 112);
 
 /* Body of OFPST_GROUP request. */
 struct ofp_group_stats_request {
@@ -1866,9 +1869,12 @@
     uint8_t pad2[4];         /* Align to 64 bits. */
     uint64_t packet_count;   /* Number of packets processed by group. */
     uint64_t byte_count;     /* Number of bytes processed by group. */
+    uint32_t duration_sec;   /* Time group has been alive in seconds. */
+    uint32_t duration_nsec;  /* Time group has been alive in nanoseconds beyond
+                                duration_sec. */
     struct ofp_bucket_counter bucket_stats[0];
 };
-OFP_ASSERT(sizeof(struct ofp_group_stats) == 32);
+OFP_ASSERT(sizeof(struct ofp_group_stats) == 40);
 
 /* Body of reply to OFPST_GROUP_DESC request. */
 struct ofp_group_desc_stats {
