--- openflow-2013-11-18.h	2015-07-23 09:54:17.728479386 -0700
+++ openflow-2013-11-18-2.h	2015-07-23 09:54:17.732479386 -0700
@@ -1334,6 +1334,8 @@
     OFPAT_SET_FIELD    = 25, /* Set a header field using OXM TLV format. */
     OFPAT_PUSH_PBB     = 26, /* Push a new PBB service tag (I-TAG) */
     OFPAT_POP_PBB      = 27, /* Pop the outer PBB service tag (I-TAG) */
+    OFPAT_REG_MOVE     = 28, /* Move value between header and register. */
+    OFPAT_REG_LOAD     = 29, /* Load register with value. */
     OFPAT_EXPERIMENTER = 0xffff
 };
 
@@ -1443,6 +1445,33 @@
 };
 OFP_ASSERT(sizeof(struct ofp_action_set_field) == 8);
 
+/* Action structure for OFPAT_REG_MOVE. */
+struct ofp_action_reg_move {
+    uint16_t type;                  /* OFPAT_REG_MOVE. */
+    uint16_t len;                   /* Length is 16. */
+    uint8_t  n_bits;                /* Number of bits. */
+    uint8_t  pad;                   /* Align to 16 bits. */
+    uint8_t  src_offset;            /* Starting bit offset in source. */
+    uint8_t  dst_offset;            /* Starting bit offset in destination. */
+    uint32_t src_oxmid;             /* Source register OXM ID. */
+    uint32_t dst_oxmid;             /* Destination register OXM ID. */
+};
+OFP_ASSERT(sizeof(struct ofp_action_reg_move) == 16);
+
+/* Action structure for NXAST_REG_LOAD. */
+struct ofp_action_reg_load {
+    uint16_t type;                  /* OFPAT_REG_LOAD. */
+    uint16_t len;                   /* Length is 24. */
+    uint8_t  n_bits;                /* Number of bits. */
+    uint8_t  pad;                   /* Align to 16 bits. */
+    uint8_t  dst_offset;            /* Starting bit offset in destination. */
+    uint8_t  pad2;                  /* Align to 32 bits. */
+    uint32_t dst_oxmid;             /* Destination register OXM ID. */
+    uint8_t  pad3[4];               /* Align to 64 bits. */
+    uint64_t value;                 /* Immediate value. */
+};
+OFP_ASSERT(sizeof(struct ofp_action_reg_load) == 24);
+
 /* Action header for OFPAT_EXPERIMENTER.
  * The rest of the body is experimenter-defined. */
 struct ofp_action_experimenter_header {
