update pyloxi to 6bf5db6105b7e83bad4d87791bf4ab07295dab11
diff --git a/src/python/loxi/of13/common.py b/src/python/loxi/of13/common.py
index 820caad..fd16db6 100644
--- a/src/python/loxi/of13/common.py
+++ b/src/python/loxi/of13/common.py
@@ -598,11 +598,11 @@
 
 class group_desc_stats_entry(object):
 
-    def __init__(self, type=None, group_id=None, buckets=None):
-        if type != None:
-            self.type = type
+    def __init__(self, group_type=None, group_id=None, buckets=None):
+        if group_type != None:
+            self.group_type = group_type
         else:
-            self.type = 0
+            self.group_type = 0
         if group_id != None:
             self.group_id = group_id
         else:
@@ -616,7 +616,7 @@
     def pack(self):
         packed = []
         packed.append(struct.pack("!H", 0)) # placeholder for length at index 0
-        packed.append(struct.pack("!B", self.type))
+        packed.append(struct.pack("!B", self.group_type))
         packed.append('\x00' * 1)
         packed.append(struct.pack("!L", self.group_id))
         packed.append(util.pack_list(self.buckets))
@@ -632,7 +632,7 @@
         else:
             reader = loxi.generic_util.OFReader(buf)
         _length = reader.read("!H")[0]
-        obj.type = reader.read("!B")[0]
+        obj.group_type = reader.read("!B")[0]
         reader.skip(1)
         obj.group_id = reader.read("!L")[0]
         obj.buckets = common.unpack_list_bucket(reader)
@@ -640,7 +640,7 @@
 
     def __eq__(self, other):
         if type(self) != type(other): return False
-        if self.type != other.type: return False
+        if self.group_type != other.group_type: return False
         if self.group_id != other.group_id: return False
         if self.buckets != other.buckets: return False
         return True
@@ -657,8 +657,8 @@
         with q.group():
             with q.indent(2):
                 q.breakable()
-                q.text("type = ");
-                q.text("%#x" % self.type)
+                q.text("group_type = ");
+                q.text("%#x" % self.group_type)
                 q.text(","); q.breakable()
                 q.text("group_id = ");
                 q.text("%#x" % self.group_id)
@@ -1850,56 +1850,6 @@
             q.breakable()
         q.text('}')
 
-class table_feature_prop(object):
-
-    def __init__(self, type=None):
-        if type != None:
-            self.type = type
-        else:
-            self.type = 0
-        return
-
-    def pack(self):
-        packed = []
-        packed.append(struct.pack("!H", self.type))
-        packed.append(struct.pack("!H", 0)) # placeholder for length at index 1
-        length = sum([len(x) for x in packed])
-        packed[1] = struct.pack("!H", length)
-        return ''.join(packed)
-
-    @staticmethod
-    def unpack(buf):
-        obj = table_feature_prop()
-        if type(buf) == loxi.generic_util.OFReader:
-            reader = buf
-        else:
-            reader = loxi.generic_util.OFReader(buf)
-        obj.type = reader.read("!H")[0]
-        _length = reader.read("!H")[0]
-        return obj
-
-    def __eq__(self, other):
-        if type(self) != type(other): return False
-        if self.type != other.type: return False
-        return True
-
-    def __ne__(self, other):
-        return not self.__eq__(other)
-
-    def show(self):
-        import loxi.pp
-        return loxi.pp.pp(self)
-
-    def pretty_print(self, q):
-        q.text("table_feature_prop {")
-        with q.group():
-            with q.indent(2):
-                q.breakable()
-                q.text("type = ");
-                q.text("%#x" % self.type)
-            q.breakable()
-        q.text('}')
-
 class table_feature_prop_apply_actions(object):
     type = 6