Changes to support ofp_error_message with xid

Change-Id: Ic6f66628b1da43785564939db6968fb01e12654e
diff --git a/protos/voltha_protos/openflow_13.proto b/protos/voltha_protos/openflow_13.proto
index 14d7fdd..2995241 100644
--- a/protos/voltha_protos/openflow_13.proto
+++ b/protos/voltha_protos/openflow_13.proto
@@ -1649,10 +1649,10 @@
 
 /* OFPT_ERROR: Error message (datapath -> controller). */
 message ofp_error_msg {
-    //ofp_header header;
-    uint32 type = 1;
-    uint32 code = 2;
-    bytes data = 3;          /* Variable-length data.  Interpreted based
+    ofp_header header = 1;
+    uint32 type = 2;
+    uint32 code = 3;
+    bytes data = 4; /* Variable-length data.  Interpreted based
                                  on the type and code.  No padding. */
 };
 
@@ -2251,6 +2251,7 @@
 message MeterModUpdate {
     string id = 1;      // Device.id or LogicalDevice.id
     ofp_meter_mod meter_mod = 2;
+    uint32 xid = 3; //Transaction id associated with this request.
 }
 
 message MeterStatsReply {
@@ -2260,11 +2261,13 @@
 message FlowTableUpdate {
     string id = 1;  // Device.id or LogicalDevice.id
     ofp_flow_mod flow_mod = 2;
+    uint32 xid = 3; //Transaction id associated with this request.
 }
 
 message FlowGroupTableUpdate {
     string id = 1;  // Device.id or LogicalDevice.id
     ofp_group_mod group_mod = 2;
+    uint32 xid = 3; //Transaction id associated with this request.
 }
 
 message Flows {
@@ -2304,5 +2307,6 @@
     string id = 1; // LogicalDevice.id
     oneof event {
         ofp_port_status port_status = 2;
+        ofp_error_msg error = 3;
     }
 }