update pyloxi to c4da04db638135e618763773bd03371db1c9b7fd
diff --git a/src/python/loxi/of13/message.py b/src/python/loxi/of13/message.py
index 4cafeca..b4f10f7 100644
--- a/src/python/loxi/of13/message.py
+++ b/src/python/loxi/of13/message.py
@@ -8668,12 +8668,16 @@
     version = 4
     type = 25
 
-    def __init__(self, xid=None, data=None):
+    def __init__(self, xid=None, role=None, generation_id=None):
         self.xid = xid
-        if data != None:
-            self.data = data
+        if role != None:
+            self.role = role
         else:
-            self.data = ''
+            self.role = 0
+        if generation_id != None:
+            self.generation_id = generation_id
+        else:
+            self.generation_id = 0
 
     def pack(self):
         packed = []
@@ -8681,7 +8685,9 @@
         packed.append(struct.pack("!B", self.type))
         packed.append(struct.pack("!H", 0)) # placeholder for length at index 2
         packed.append(struct.pack("!L", self.xid))
-        packed.append(self.data)
+        packed.append(struct.pack("!L", self.role))
+        packed.append('\x00' * 4)
+        packed.append(struct.pack("!Q", self.generation_id))
         length = sum([len(x) for x in packed])
         packed[2] = struct.pack("!H", length)
         return ''.join(packed)
@@ -8700,7 +8706,9 @@
         assert(_type == 25)
         _length = reader.read("!H")[0]
         obj.xid = reader.read("!L")[0]
-        obj.data = str(reader.read_all())
+        obj.role = reader.read("!L")[0]
+        reader.skip(4)
+        obj.generation_id = reader.read("!Q")[0]
         return obj
 
     def __eq__(self, other):
@@ -8708,7 +8716,8 @@
         if self.version != other.version: return False
         if self.type != other.type: return False
         if self.xid != other.xid: return False
-        if self.data != other.data: return False
+        if self.role != other.role: return False
+        if self.generation_id != other.generation_id: return False
         return True
 
     def __ne__(self, other):
@@ -8732,8 +8741,11 @@
                 else:
                     q.text('None')
                 q.text(","); q.breakable()
-                q.text("data = ");
-                q.pp(self.data)
+                q.text("role = ");
+                q.text("%#x" % self.role)
+                q.text(","); q.breakable()
+                q.text("generation_id = ");
+                q.text("%#x" % self.generation_id)
             q.breakable()
         q.text('}')