update pyloxi to floodlight/loxigen-artifacts @ f9dd10108ee6f7f770b4433e23eaf875a8abf1df
diff --git a/src/python/loxi/of13/action.py b/src/python/loxi/of13/action.py
index 04b17de..5c1eda7 100644
--- a/src/python/loxi/of13/action.py
+++ b/src/python/loxi/of13/action.py
@@ -52,7 +52,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -110,7 +110,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.experimenter = reader.read("!L")[0]
obj.data = str(reader.read_all())
return obj
@@ -169,7 +169,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
obj.subtype = reader.read("!L")[0]
@@ -221,7 +221,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -281,7 +281,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -352,7 +352,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -418,7 +418,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -465,7 +465,7 @@
assert(_type == 12)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -505,7 +505,7 @@
assert(_type == 11)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -545,7 +545,7 @@
assert(_type == 16)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -585,7 +585,7 @@
assert(_type == 24)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -629,7 +629,7 @@
assert(_type == 22)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.group_id = reader.read("!L")[0]
return obj
@@ -687,7 +687,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 8992)
obj.subtype = reader.read("!H")[0]
@@ -737,7 +737,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 8992)
_subtype = reader.read("!H")[0]
@@ -792,7 +792,7 @@
assert(_type == 0)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.port = util.unpack_port_no(reader)
obj.max_len = reader.read("!H")[0]
reader.skip(6)
@@ -846,7 +846,7 @@
assert(_type == 20)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.ethertype = reader.read("!H")[0]
reader.skip(2)
return obj
@@ -890,7 +890,7 @@
assert(_type == 27)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -930,7 +930,7 @@
assert(_type == 18)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -975,7 +975,7 @@
assert(_type == 19)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.ethertype = reader.read("!H")[0]
reader.skip(2)
return obj
@@ -1024,7 +1024,7 @@
assert(_type == 26)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.ethertype = reader.read("!H")[0]
reader.skip(2)
return obj
@@ -1073,7 +1073,7 @@
assert(_type == 17)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.ethertype = reader.read("!H")[0]
reader.skip(2)
return obj
@@ -1123,7 +1123,7 @@
assert(_type == 25)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.field = oxm.oxm.unpack(reader)
return obj
@@ -1171,7 +1171,7 @@
assert(_type == 15)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.mpls_ttl = reader.read("!B")[0]
reader.skip(3)
return obj
@@ -1220,7 +1220,7 @@
assert(_type == 23)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.nw_ttl = reader.read("!B")[0]
reader.skip(3)
return obj
@@ -1268,7 +1268,7 @@
assert(_type == 21)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.queue_id = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of13/action_id.py b/src/python/loxi/of13/action_id.py
index b8e1a06..b30383e 100644
--- a/src/python/loxi/of13/action_id.py
+++ b/src/python/loxi/of13/action_id.py
@@ -51,7 +51,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -101,7 +101,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.experimenter = reader.read("!L")[0]
return obj
@@ -155,7 +155,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
obj.subtype = reader.read("!L")[0]
@@ -201,7 +201,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -247,7 +247,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -293,7 +293,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -339,7 +339,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -381,7 +381,7 @@
assert(_type == 12)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -419,7 +419,7 @@
assert(_type == 11)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -457,7 +457,7 @@
assert(_type == 16)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -495,7 +495,7 @@
assert(_type == 24)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -533,7 +533,7 @@
assert(_type == 22)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -585,7 +585,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 8992)
obj.subtype = reader.read("!H")[0]
@@ -631,7 +631,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 8992)
_subtype = reader.read("!H")[0]
@@ -673,7 +673,7 @@
assert(_type == 0)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -711,7 +711,7 @@
assert(_type == 20)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -749,7 +749,7 @@
assert(_type == 27)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -787,7 +787,7 @@
assert(_type == 18)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -825,7 +825,7 @@
assert(_type == 19)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -863,7 +863,7 @@
assert(_type == 26)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -901,7 +901,7 @@
assert(_type == 17)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -939,7 +939,7 @@
assert(_type == 25)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -977,7 +977,7 @@
assert(_type == 15)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -1015,7 +1015,7 @@
assert(_type == 23)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -1053,7 +1053,7 @@
assert(_type == 21)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
diff --git a/src/python/loxi/of13/bsn_tlv.py b/src/python/loxi/of13/bsn_tlv.py
index 422f80a..9753693 100644
--- a/src/python/loxi/of13/bsn_tlv.py
+++ b/src/python/loxi/of13/bsn_tlv.py
@@ -51,7 +51,7 @@
obj.type = reader.read("!H")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
return obj
def __eq__(self, other):
@@ -94,7 +94,7 @@
assert(_type == 44)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -141,7 +141,7 @@
assert(_type == 43)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -188,7 +188,7 @@
assert(_type == 42)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -235,7 +235,7 @@
assert(_type == 53)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!B")[0]
return obj
@@ -282,7 +282,7 @@
assert(_type == 41)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -329,7 +329,7 @@
assert(_type == 40)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -376,7 +376,7 @@
assert(_type == 10)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -397,6 +397,53 @@
bsn_tlv.subtypes[10] = broadcast_query_timeout
+class bucket(bsn_tlv):
+ type = 64
+
+ def __init__(self, value=None):
+ if value != None:
+ self.value = value
+ else:
+ self.value = []
+ return
+
+ def pack(self):
+ packed = []
+ packed.append(struct.pack("!H", self.type))
+ packed.append(struct.pack("!H", 0)) # placeholder for length at index 1
+ packed.append(loxi.generic_util.pack_list(self.value))
+ length = sum([len(x) for x in packed])
+ packed[1] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = bucket()
+ _type = reader.read("!H")[0]
+ assert(_type == 64)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.value = loxi.generic_util.unpack_list(reader, bsn_tlv.bsn_tlv.unpack)
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.value != other.value: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("bucket {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("value = ");
+ q.pp(self.value)
+ q.breakable()
+ q.text('}')
+
+bsn_tlv.subtypes[64] = bucket
+
class circuit_id(bsn_tlv):
type = 14
@@ -423,7 +470,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = str(reader.read_all())
return obj
@@ -470,7 +517,7 @@
assert(_type == 45)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!B")[0]
return obj
@@ -517,7 +564,7 @@
assert(_type == 22)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!B")[0]
return obj
@@ -564,7 +611,7 @@
assert(_type == 55)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = str(reader.read_all())
return obj
@@ -611,7 +658,7 @@
assert(_type == 33)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -658,7 +705,7 @@
assert(_type == 32)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -705,7 +752,7 @@
assert(_type == 26)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -752,7 +799,7 @@
assert(_type == 29)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -799,7 +846,7 @@
assert(_type == 23)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -846,7 +893,7 @@
assert(_type == 24)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -893,7 +940,7 @@
assert(_type == 25)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -940,7 +987,7 @@
assert(_type == 31)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -982,7 +1029,7 @@
assert(_type == 7)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
return obj
def __eq__(self, other):
@@ -1025,7 +1072,7 @@
assert(_type == 5)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -1072,7 +1119,7 @@
assert(_type == 8)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1119,7 +1166,7 @@
assert(_type == 28)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -1166,7 +1213,7 @@
assert(_type == 27)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -1213,7 +1260,7 @@
assert(_type == 58)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1260,7 +1307,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1307,7 +1354,7 @@
assert(_type == 35)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1354,7 +1401,7 @@
assert(_type == 60)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1401,7 +1448,7 @@
assert(_type == 34)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -1448,7 +1495,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -1495,7 +1542,7 @@
assert(_type == 56)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -1542,7 +1589,7 @@
assert(_type == 13)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -1563,6 +1610,147 @@
bsn_tlv.subtypes[13] = miss_packets
+class mpls_control_word(bsn_tlv):
+ type = 62
+
+ def __init__(self, value=None):
+ if value != None:
+ self.value = value
+ else:
+ self.value = 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
+ packed.append(struct.pack("!B", self.value))
+ length = sum([len(x) for x in packed])
+ packed[1] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = mpls_control_word()
+ _type = reader.read("!H")[0]
+ assert(_type == 62)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.value = reader.read("!B")[0]
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.value != other.value: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("mpls_control_word {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("value = ");
+ q.text("%#x" % self.value)
+ q.breakable()
+ q.text('}')
+
+bsn_tlv.subtypes[62] = mpls_control_word
+
+class mpls_label(bsn_tlv):
+ type = 61
+
+ def __init__(self, value=None):
+ if value != None:
+ self.value = value
+ else:
+ self.value = 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
+ packed.append(struct.pack("!L", self.value))
+ length = sum([len(x) for x in packed])
+ packed[1] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = mpls_label()
+ _type = reader.read("!H")[0]
+ assert(_type == 61)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.value = reader.read("!L")[0]
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.value != other.value: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("mpls_label {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("value = ");
+ q.text("%#x" % self.value)
+ q.breakable()
+ q.text('}')
+
+bsn_tlv.subtypes[61] = mpls_label
+
+class mpls_sequenced(bsn_tlv):
+ type = 63
+
+ def __init__(self, value=None):
+ if value != None:
+ self.value = value
+ else:
+ self.value = 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
+ packed.append(struct.pack("!B", self.value))
+ length = sum([len(x) for x in packed])
+ packed[1] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = mpls_sequenced()
+ _type = reader.read("!H")[0]
+ assert(_type == 63)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.value = reader.read("!B")[0]
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.value != other.value: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("mpls_sequenced {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("value = ");
+ q.text("%#x" % self.value)
+ q.breakable()
+ q.text('}')
+
+bsn_tlv.subtypes[63] = mpls_sequenced
+
class name(bsn_tlv):
type = 52
@@ -1589,7 +1777,7 @@
assert(_type == 52)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = str(reader.read_all())
return obj
@@ -1636,7 +1824,7 @@
assert(_type == 51)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -1683,7 +1871,7 @@
assert(_type == 50)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -1730,7 +1918,7 @@
assert(_type == 49)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -1777,7 +1965,7 @@
assert(_type == 54)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!B")[0]
return obj
@@ -1824,7 +2012,7 @@
assert(_type == 48)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = list(reader.read('!6B'))
return obj
@@ -1871,7 +2059,7 @@
assert(_type == 47)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -1918,7 +2106,7 @@
assert(_type == 0)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = util.unpack_port_no(reader)
return obj
@@ -1965,7 +2153,7 @@
assert(_type == 57)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2012,7 +2200,7 @@
assert(_type == 20)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2059,7 +2247,7 @@
assert(_type == 21)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2111,7 +2299,7 @@
assert(_type == 59)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.table_id = reader.read("!H")[0]
obj.key = loxi.generic_util.unpack_list(reader, bsn_tlv.bsn_tlv.unpack)
return obj
@@ -2163,7 +2351,7 @@
assert(_type == 12)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -2210,7 +2398,7 @@
assert(_type == 11)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -2257,7 +2445,7 @@
assert(_type == 2)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -2304,7 +2492,7 @@
assert(_type == 30)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2351,7 +2539,7 @@
assert(_type == 38)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2398,7 +2586,7 @@
assert(_type == 39)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -2445,7 +2633,7 @@
assert(_type == 3)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!Q")[0]
return obj
@@ -2492,7 +2680,7 @@
assert(_type == 16)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2539,7 +2727,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2586,7 +2774,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2633,7 +2821,7 @@
assert(_type == 17)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2680,7 +2868,7 @@
assert(_type == 37)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2727,7 +2915,7 @@
assert(_type == 36)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2774,7 +2962,7 @@
assert(_type == 9)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
@@ -2821,7 +3009,7 @@
assert(_type == 6)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!H")[0]
return obj
@@ -2868,7 +3056,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.value = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of13/common.py b/src/python/loxi/of13/common.py
index 361865d..72f6f85 100644
--- a/src/python/loxi/of13/common.py
+++ b/src/python/loxi/of13/common.py
@@ -227,6 +227,48 @@
q.text('}')
+class bsn_generic_stats_entry(loxi.OFObject):
+
+ def __init__(self, tlvs=None):
+ if tlvs != None:
+ self.tlvs = tlvs
+ else:
+ self.tlvs = []
+ return
+
+ def pack(self):
+ packed = []
+ packed.append(struct.pack("!H", 0)) # placeholder for length at index 0
+ packed.append(loxi.generic_util.pack_list(self.tlvs))
+ length = sum([len(x) for x in packed])
+ packed[0] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = bsn_generic_stats_entry()
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 2)
+ obj.tlvs = loxi.generic_util.unpack_list(reader, bsn_tlv.bsn_tlv.unpack)
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.tlvs != other.tlvs: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("bsn_generic_stats_entry {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("tlvs = ");
+ q.pp(self.tlvs)
+ q.breakable()
+ q.text('}')
+
+
class bsn_gentable_bucket_stats_entry(loxi.OFObject):
def __init__(self, checksum=None):
@@ -301,7 +343,7 @@
obj = bsn_gentable_desc_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.table_id = reader.read("!H")[0]
obj.name = reader.read("!32s")[0].rstrip("\x00")
obj.buckets_size = reader.read("!L")[0]
@@ -371,7 +413,7 @@
obj = bsn_gentable_entry_desc_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
_key_length = reader.read("!H")[0]
obj.checksum = util.unpack_checksum_128(reader)
obj.key = loxi.generic_util.unpack_list(reader.slice(_key_length), bsn_tlv.bsn_tlv.unpack)
@@ -431,7 +473,7 @@
obj = bsn_gentable_entry_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
_key_length = reader.read("!H")[0]
obj.key = loxi.generic_util.unpack_list(reader.slice(_key_length), bsn_tlv.bsn_tlv.unpack)
obj.stats = loxi.generic_util.unpack_list(reader, bsn_tlv.bsn_tlv.unpack)
@@ -761,7 +803,7 @@
obj = bsn_port_counter_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
reader.skip(2)
obj.port_no = util.unpack_port_no(reader)
obj.values = loxi.generic_util.unpack_list(reader, common.uint64.unpack)
@@ -899,7 +941,7 @@
obj.type = reader.read("!H")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
return obj
def __eq__(self, other):
@@ -944,7 +986,7 @@
obj = bsn_vlan_counter_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.vlan_vid = reader.read("!H")[0]
reader.skip(4)
obj.values = loxi.generic_util.unpack_list(reader, common.uint64.unpack)
@@ -1052,7 +1094,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.flags = reader.read("!L")[0]
obj.port_no = util.unpack_port_no(reader)
obj.loopback_port_no = util.unpack_port_no(reader)
@@ -1180,7 +1222,7 @@
assert(_type == 0)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.port_no = reader.read("!L")[0]
obj.ingress_tpid = reader.read("!H")[0]
obj.ingress_vlan_id = reader.read("!H")[0]
@@ -1254,7 +1296,7 @@
obj = bsn_vrf_counter_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
reader.skip(2)
obj.vrf = reader.read("!L")[0]
obj.values = loxi.generic_util.unpack_list(reader, common.uint64.unpack)
@@ -1318,7 +1360,7 @@
obj = bucket()
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (0 + 2))
+ reader = orig_reader.slice(_len, 2)
obj.weight = reader.read("!H")[0]
obj.watch_port = util.unpack_port_no(reader)
obj.watch_group = reader.read("!L")[0]
@@ -1479,7 +1521,7 @@
obj = flow_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.table_id = reader.read("!B")[0]
reader.skip(1)
obj.duration_sec = reader.read("!L")[0]
@@ -1589,7 +1631,7 @@
obj = group_desc_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.group_type = reader.read("!B")[0]
reader.skip(1)
obj.group_id = reader.read("!L")[0]
@@ -1674,7 +1716,7 @@
obj = group_stats_entry()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
reader.skip(2)
obj.group_id = reader.read("!L")[0]
obj.ref_count = reader.read("!L")[0]
@@ -1756,7 +1798,7 @@
obj.type = reader.read("!H")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
return obj
def __eq__(self, other):
@@ -1799,7 +1841,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.bitmaps = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -1847,7 +1889,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_list = loxi.generic_util.unpack_list(reader, oxm.oxm.unpack)
orig_reader.skip_align()
return obj
@@ -1946,7 +1988,7 @@
obj = meter_config()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.flags = reader.read("!H")[0]
obj.meter_id = reader.read("!L")[0]
obj.entries = loxi.generic_util.unpack_list(reader, meter_band.meter_band.unpack)
@@ -2108,7 +2150,7 @@
obj.meter_id = reader.read("!L")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (4 + 2))
+ reader = orig_reader.slice(_len, 6)
reader.skip(6)
obj.flow_count = reader.read("!L")[0]
obj.packet_in_count = reader.read("!Q")[0]
@@ -2193,7 +2235,7 @@
obj.port = util.unpack_port_no(reader)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (8 + 2))
+ reader = orig_reader.slice(_len, 10)
reader.skip(6)
obj.properties = loxi.generic_util.unpack_list(reader, common.queue_prop.unpack)
return obj
@@ -2571,7 +2613,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -2629,7 +2671,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.experimenter = reader.read("!L")[0]
reader.skip(4)
@@ -2682,7 +2724,7 @@
assert(_type == 2)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.rate = reader.read("!H")[0]
reader.skip(6)
@@ -2733,7 +2775,7 @@
assert(_type == 1)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.rate = reader.read("!H")[0]
reader.skip(6)
@@ -2882,7 +2924,7 @@
obj.type = reader.read("!H")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
return obj
def __eq__(self, other):
@@ -2925,7 +2967,7 @@
assert(_type == 6)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.action_ids = loxi.generic_util.unpack_list(reader, action_id.action_id.unpack)
return obj
@@ -2972,7 +3014,7 @@
assert(_type == 7)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.action_ids = loxi.generic_util.unpack_list(reader, action_id.action_id.unpack)
return obj
@@ -3019,7 +3061,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3066,7 +3108,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3130,7 +3172,7 @@
assert(_type == 65534)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.experimenter = reader.read("!L")[0]
obj.subtype = reader.read("!L")[0]
obj.experimenter_data = str(reader.read_all())
@@ -3201,7 +3243,7 @@
assert(_type == 65535)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.experimenter = reader.read("!L")[0]
obj.subtype = reader.read("!L")[0]
obj.experimenter_data = str(reader.read_all())
@@ -3255,7 +3297,7 @@
assert(_type == 0)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.instruction_ids = loxi.generic_util.unpack_list(reader, instruction_id.instruction_id.unpack)
return obj
@@ -3302,7 +3344,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.instruction_ids = loxi.generic_util.unpack_list(reader, instruction_id.instruction_id.unpack)
return obj
@@ -3349,7 +3391,7 @@
assert(_type == 8)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3396,7 +3438,7 @@
assert(_type == 2)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.next_table_ids = loxi.generic_util.unpack_list(reader, common.uint8.unpack)
return obj
@@ -3443,7 +3485,7 @@
assert(_type == 3)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.next_table_ids = loxi.generic_util.unpack_list(reader, common.uint8.unpack)
return obj
@@ -3490,7 +3532,7 @@
assert(_type == 10)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3537,7 +3579,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.action_ids = loxi.generic_util.unpack_list(reader, action_id.action_id.unpack)
return obj
@@ -3584,7 +3626,7 @@
assert(_type == 5)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.action_ids = loxi.generic_util.unpack_list(reader, action_id.action_id.unpack)
return obj
@@ -3631,7 +3673,7 @@
assert(_type == 12)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3678,7 +3720,7 @@
assert(_type == 13)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.oxm_ids = loxi.generic_util.unpack_list(reader, common.uint32.unpack)
return obj
@@ -3752,7 +3794,7 @@
obj = table_features()
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (0 + 2))
+ reader = orig_reader.slice(_length, 2)
obj.table_id = reader.read("!B")[0]
reader.skip(5)
obj.name = reader.read("!32s")[0].rstrip("\x00")
diff --git a/src/python/loxi/of13/instruction.py b/src/python/loxi/of13/instruction.py
index 49c7d1c..ef537dd 100644
--- a/src/python/loxi/of13/instruction.py
+++ b/src/python/loxi/of13/instruction.py
@@ -51,7 +51,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -95,7 +95,7 @@
assert(_type == 4)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.actions = loxi.generic_util.unpack_list(reader, action.action.unpack)
return obj
@@ -155,7 +155,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.experimenter = reader.read("!L")[0]
obj.data = str(reader.read_all())
return obj
@@ -214,7 +214,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
obj.subtype = reader.read("!L")[0]
@@ -262,7 +262,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -310,7 +310,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -358,7 +358,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -406,7 +406,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -454,7 +454,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -502,7 +502,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -550,7 +550,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -598,7 +598,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -646,7 +646,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -694,7 +694,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -742,7 +742,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -790,7 +790,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -834,7 +834,7 @@
assert(_type == 5)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
return obj
@@ -879,7 +879,7 @@
assert(_type == 1)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.table_id = reader.read("!B")[0]
reader.skip(3)
return obj
@@ -927,7 +927,7 @@
assert(_type == 6)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.meter_id = reader.read("!L")[0]
return obj
@@ -975,7 +975,7 @@
assert(_type == 3)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.actions = loxi.generic_util.unpack_list(reader, action.action.unpack)
return obj
@@ -1029,7 +1029,7 @@
assert(_type == 2)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
reader.skip(4)
obj.metadata = reader.read("!Q")[0]
obj.metadata_mask = reader.read("!Q")[0]
diff --git a/src/python/loxi/of13/instruction_id.py b/src/python/loxi/of13/instruction_id.py
index 3b88750..4207f2a 100644
--- a/src/python/loxi/of13/instruction_id.py
+++ b/src/python/loxi/of13/instruction_id.py
@@ -51,7 +51,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -89,7 +89,7 @@
assert(_type == 4)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -139,7 +139,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.experimenter = reader.read("!L")[0]
return obj
@@ -193,7 +193,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
obj.subtype = reader.read("!L")[0]
@@ -239,7 +239,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -285,7 +285,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -331,7 +331,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -377,7 +377,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -423,7 +423,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -469,7 +469,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -515,7 +515,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -561,7 +561,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -607,7 +607,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -653,7 +653,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -699,7 +699,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -745,7 +745,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
_subtype = reader.read("!L")[0]
@@ -787,7 +787,7 @@
assert(_type == 5)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -825,7 +825,7 @@
assert(_type == 1)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -863,7 +863,7 @@
assert(_type == 6)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -901,7 +901,7 @@
assert(_type == 3)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -939,7 +939,7 @@
assert(_type == 2)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
diff --git a/src/python/loxi/of13/message.py b/src/python/loxi/of13/message.py
index db67eff..962359d 100644
--- a/src/python/loxi/of13/message.py
+++ b/src/python/loxi/of13/message.py
@@ -60,7 +60,7 @@
obj.type = reader.read("!B")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
return obj
@@ -132,7 +132,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.stats_type = reader.read("!H")[0]
obj.flags = reader.read("!H")[0]
@@ -218,7 +218,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 2)
@@ -314,7 +314,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.stats_type = reader.read("!H")[0]
obj.flags = reader.read("!H")[0]
@@ -416,7 +416,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 2)
@@ -540,7 +540,7 @@
assert(_type == 27)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.packet_in_mask_equal_master = reader.read("!L")[0]
obj.packet_in_mask_slave = reader.read("!L")[0]
@@ -654,7 +654,7 @@
assert(_type == 26)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.packet_in_mask_equal_master = reader.read("!L")[0]
obj.packet_in_mask_slave = reader.read("!L")[0]
@@ -768,7 +768,7 @@
assert(_type == 28)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.packet_in_mask_equal_master = reader.read("!L")[0]
obj.packet_in_mask_slave = reader.read("!L")[0]
@@ -864,7 +864,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.err_type = reader.read("!H")[0]
return obj
@@ -932,7 +932,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 2)
@@ -1010,7 +1010,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 3)
@@ -1088,7 +1088,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 4)
@@ -1166,7 +1166,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 1)
@@ -1232,7 +1232,7 @@
assert(_type == 21)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
return obj
@@ -1286,7 +1286,7 @@
assert(_type == 20)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
return obj
@@ -1362,7 +1362,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.experimenter = reader.read("!L")[0]
obj.subtype = reader.read("!L")[0]
@@ -1442,7 +1442,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1515,7 +1515,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1593,7 +1593,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1660,7 +1660,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1727,7 +1727,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1794,7 +1794,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1866,7 +1866,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -1943,7 +1943,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -2015,7 +2015,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -2082,7 +2082,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -2165,7 +2165,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2256,7 +2256,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2339,7 +2339,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2435,7 +2435,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2526,7 +2526,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2604,7 +2604,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2687,7 +2687,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2770,7 +2770,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2853,7 +2853,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -2941,7 +2941,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -3037,7 +3037,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3125,7 +3125,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3192,7 +3192,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3264,7 +3264,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3341,7 +3341,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3374,6 +3374,192 @@
bsn_header.subtypes[36] = bsn_flow_idle_enable_set_request
+class bsn_generic_stats_reply(bsn_stats_reply):
+ version = 4
+ type = 19
+ stats_type = 65535
+ experimenter = 6035143
+ subtype = 16
+
+ def __init__(self, xid=None, flags=None, entries=None):
+ if xid != None:
+ self.xid = xid
+ else:
+ self.xid = None
+ if flags != None:
+ self.flags = flags
+ else:
+ self.flags = 0
+ if entries != None:
+ self.entries = entries
+ else:
+ self.entries = []
+ return
+
+ def pack(self):
+ packed = []
+ packed.append(struct.pack("!B", self.version))
+ 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(struct.pack("!H", self.stats_type))
+ packed.append(struct.pack("!H", self.flags))
+ packed.append('\x00' * 4)
+ packed.append(struct.pack("!L", self.experimenter))
+ packed.append(struct.pack("!L", self.subtype))
+ packed.append(loxi.generic_util.pack_list(self.entries))
+ length = sum([len(x) for x in packed])
+ packed[2] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = bsn_generic_stats_reply()
+ _version = reader.read("!B")[0]
+ assert(_version == 4)
+ _type = reader.read("!B")[0]
+ assert(_type == 19)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.xid = reader.read("!L")[0]
+ _stats_type = reader.read("!H")[0]
+ assert(_stats_type == 65535)
+ obj.flags = reader.read("!H")[0]
+ reader.skip(4)
+ _experimenter = reader.read("!L")[0]
+ assert(_experimenter == 6035143)
+ _subtype = reader.read("!L")[0]
+ assert(_subtype == 16)
+ obj.entries = loxi.generic_util.unpack_list(reader, common.bsn_generic_stats_entry.unpack)
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.xid != other.xid: return False
+ if self.flags != other.flags: return False
+ if self.entries != other.entries: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("bsn_generic_stats_reply {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("xid = ");
+ if self.xid != None:
+ q.text("%#x" % self.xid)
+ else:
+ q.text('None')
+ q.text(","); q.breakable()
+ q.text("flags = ");
+ q.text("%#x" % self.flags)
+ q.text(","); q.breakable()
+ q.text("entries = ");
+ q.pp(self.entries)
+ q.breakable()
+ q.text('}')
+
+bsn_stats_reply.subtypes[16] = bsn_generic_stats_reply
+
+class bsn_generic_stats_request(bsn_stats_request):
+ version = 4
+ type = 18
+ stats_type = 65535
+ experimenter = 6035143
+ subtype = 16
+
+ def __init__(self, xid=None, flags=None, name=None, tlvs=None):
+ if xid != None:
+ self.xid = xid
+ else:
+ self.xid = None
+ if flags != None:
+ self.flags = flags
+ else:
+ self.flags = 0
+ if name != None:
+ self.name = name
+ else:
+ self.name = ""
+ if tlvs != None:
+ self.tlvs = tlvs
+ else:
+ self.tlvs = []
+ return
+
+ def pack(self):
+ packed = []
+ packed.append(struct.pack("!B", self.version))
+ 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(struct.pack("!H", self.stats_type))
+ packed.append(struct.pack("!H", self.flags))
+ packed.append('\x00' * 4)
+ packed.append(struct.pack("!L", self.experimenter))
+ packed.append(struct.pack("!L", self.subtype))
+ packed.append(struct.pack("!64s", self.name))
+ packed.append(loxi.generic_util.pack_list(self.tlvs))
+ length = sum([len(x) for x in packed])
+ packed[2] = struct.pack("!H", length)
+ return ''.join(packed)
+
+ @staticmethod
+ def unpack(reader):
+ obj = bsn_generic_stats_request()
+ _version = reader.read("!B")[0]
+ assert(_version == 4)
+ _type = reader.read("!B")[0]
+ assert(_type == 18)
+ _length = reader.read("!H")[0]
+ orig_reader = reader
+ reader = orig_reader.slice(_length, 4)
+ obj.xid = reader.read("!L")[0]
+ _stats_type = reader.read("!H")[0]
+ assert(_stats_type == 65535)
+ obj.flags = reader.read("!H")[0]
+ reader.skip(4)
+ _experimenter = reader.read("!L")[0]
+ assert(_experimenter == 6035143)
+ _subtype = reader.read("!L")[0]
+ assert(_subtype == 16)
+ obj.name = reader.read("!64s")[0].rstrip("\x00")
+ obj.tlvs = loxi.generic_util.unpack_list(reader, bsn_tlv.bsn_tlv.unpack)
+ return obj
+
+ def __eq__(self, other):
+ if type(self) != type(other): return False
+ if self.xid != other.xid: return False
+ if self.flags != other.flags: return False
+ if self.name != other.name: return False
+ if self.tlvs != other.tlvs: return False
+ return True
+
+ def pretty_print(self, q):
+ q.text("bsn_generic_stats_request {")
+ with q.group():
+ with q.indent(2):
+ q.breakable()
+ q.text("xid = ");
+ if self.xid != None:
+ q.text("%#x" % self.xid)
+ else:
+ q.text('None')
+ q.text(","); q.breakable()
+ q.text("flags = ");
+ q.text("%#x" % self.flags)
+ q.text(","); q.breakable()
+ q.text("name = ");
+ q.pp(self.name)
+ q.text(","); q.breakable()
+ q.text("tlvs = ");
+ q.pp(self.tlvs)
+ q.breakable()
+ q.text('}')
+
+bsn_stats_request.subtypes[16] = bsn_generic_stats_request
+
class bsn_gentable_bucket_stats_reply(bsn_stats_reply):
version = 4
type = 19
@@ -3421,7 +3607,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -3509,7 +3695,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -3600,7 +3786,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3694,7 +3880,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -3785,7 +3971,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -3868,7 +4054,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -3960,7 +4146,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4053,7 +4239,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4138,7 +4324,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4237,7 +4423,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4336,7 +4522,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4435,7 +4621,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4532,7 +4718,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4618,7 +4804,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4701,7 +4887,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -4776,7 +4962,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4843,7 +5029,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4911,7 +5097,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -4985,7 +5171,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5058,7 +5244,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5125,7 +5311,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5205,7 +5391,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -5293,7 +5479,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -5424,7 +5610,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5560,7 +5746,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -5643,7 +5829,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -5723,7 +5909,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5810,7 +5996,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -5908,7 +6094,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6001,7 +6187,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6088,7 +6274,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6186,7 +6372,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6282,7 +6468,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -6370,7 +6556,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -6461,7 +6647,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6549,7 +6735,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6626,7 +6812,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6703,7 +6889,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6811,7 +6997,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6915,7 +7101,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -6988,7 +7174,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7081,7 +7267,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7174,7 +7360,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7246,7 +7432,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7326,7 +7512,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -7409,7 +7595,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -7492,7 +7678,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -7575,7 +7761,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -7657,7 +7843,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7736,7 +7922,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7803,7 +7989,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7875,7 +8061,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -7952,7 +8138,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -8024,7 +8210,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -8096,7 +8282,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 6035143)
@@ -8176,7 +8362,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -8264,7 +8450,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -8352,7 +8538,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -8440,7 +8626,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 65535)
@@ -8544,7 +8730,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 0)
@@ -8639,7 +8825,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 0)
@@ -8706,7 +8892,7 @@
assert(_type == 3)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.data = str(reader.read_all())
return obj
@@ -8770,7 +8956,7 @@
assert(_type == 2)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.data = str(reader.read_all())
return obj
@@ -8846,7 +9032,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 65535)
@@ -8948,7 +9134,7 @@
assert(_type == 6)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.datapath_id = reader.read("!Q")[0]
obj.n_buffers = reader.read("!L")[0]
@@ -9033,7 +9219,7 @@
assert(_type == 5)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
return obj
@@ -9160,7 +9346,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -9340,7 +9526,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -9520,7 +9706,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -9700,7 +9886,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -9829,7 +10015,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 5)
@@ -9958,7 +10144,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -10138,7 +10324,7 @@
assert(_type == 14)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.cookie_mask = reader.read("!Q")[0]
@@ -10310,7 +10496,7 @@
assert(_type == 11)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.cookie = reader.read("!Q")[0]
obj.priority = reader.read("!H")[0]
@@ -10432,7 +10618,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 1)
@@ -10539,7 +10725,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 1)
@@ -10643,7 +10829,7 @@
assert(_type == 8)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.flags = reader.read("!H")[0]
obj.miss_send_len = reader.read("!H")[0]
@@ -10707,7 +10893,7 @@
assert(_type == 7)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
return obj
@@ -10789,7 +10975,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.command = reader.read("!H")[0]
obj.group_type = reader.read("!B")[0]
@@ -10879,7 +11065,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_command = reader.read("!H")[0]
assert(_command == 0)
@@ -10969,7 +11155,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_command = reader.read("!H")[0]
assert(_command == 2)
@@ -11054,7 +11240,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 7)
@@ -11129,7 +11315,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 7)
@@ -11249,7 +11435,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 8)
@@ -11369,7 +11555,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 8)
@@ -11443,7 +11629,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 6)
@@ -11527,7 +11713,7 @@
assert(_type == 15)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_command = reader.read("!H")[0]
assert(_command == 1)
@@ -11612,7 +11798,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 6)
@@ -11693,7 +11879,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 6)
@@ -11766,7 +11952,7 @@
assert(_type == 0)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.elements = loxi.generic_util.unpack_list(reader, common.hello_elem.unpack)
return obj
@@ -11837,7 +12023,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 0)
@@ -11916,7 +12102,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 10)
@@ -11997,7 +12183,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 10)
@@ -12078,7 +12264,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 11)
@@ -12153,7 +12339,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 11)
@@ -12235,7 +12421,7 @@
assert(_type == 29)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.command = reader.read("!H")[0]
obj.flags = reader.read("!H")[0]
@@ -12321,7 +12507,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 12)
@@ -12400,7 +12586,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 9)
@@ -12481,7 +12667,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 9)
@@ -12563,7 +12749,7 @@
assert(_type == 4)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_experimenter = reader.read("!L")[0]
assert(_experimenter == 8992)
@@ -12657,7 +12843,7 @@
assert(_type == 10)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.buffer_id = reader.read("!L")[0]
obj.total_len = reader.read("!H")[0]
@@ -12770,7 +12956,7 @@
assert(_type == 13)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.buffer_id = reader.read("!L")[0]
obj.in_port = util.unpack_port_no(reader)
@@ -12859,7 +13045,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 13)
@@ -12934,7 +13120,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 13)
@@ -13024,7 +13210,7 @@
assert(_type == 16)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.port_no = util.unpack_port_no(reader)
reader.skip(4)
@@ -13118,7 +13304,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 7)
@@ -13197,7 +13383,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 4)
@@ -13278,7 +13464,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 4)
@@ -13357,7 +13543,7 @@
assert(_type == 12)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.reason = reader.read("!B")[0]
reader.skip(7)
@@ -13433,7 +13619,7 @@
assert(_type == 23)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.port = util.unpack_port_no(reader)
reader.skip(4)
@@ -13504,7 +13690,7 @@
assert(_type == 22)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.port = util.unpack_port_no(reader)
reader.skip(4)
@@ -13576,7 +13762,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 9)
@@ -13655,7 +13841,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 5)
@@ -13740,7 +13926,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 5)
@@ -13823,7 +14009,7 @@
assert(_type == 25)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.role = reader.read("!L")[0]
reader.skip(4)
@@ -13899,7 +14085,7 @@
assert(_type == 24)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.role = reader.read("!L")[0]
reader.skip(4)
@@ -13976,7 +14162,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 11)
@@ -14052,7 +14238,7 @@
assert(_type == 9)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.flags = reader.read("!H")[0]
obj.miss_send_len = reader.read("!H")[0]
@@ -14128,7 +14314,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 10)
@@ -14206,7 +14392,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 13)
@@ -14285,7 +14471,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 12)
@@ -14365,7 +14551,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 12)
@@ -14443,7 +14629,7 @@
assert(_type == 17)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
obj.table_id = reader.read("!B")[0]
reader.skip(3)
@@ -14520,7 +14706,7 @@
assert(_type == 1)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_err_type = reader.read("!H")[0]
assert(_err_type == 8)
@@ -14599,7 +14785,7 @@
assert(_type == 19)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 3)
@@ -14674,7 +14860,7 @@
assert(_type == 18)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (2 + 2))
+ reader = orig_reader.slice(_length, 4)
obj.xid = reader.read("!L")[0]
_stats_type = reader.read("!H")[0]
assert(_stats_type == 3)
diff --git a/src/python/loxi/of13/meter_band.py b/src/python/loxi/of13/meter_band.py
index 18fc066..8efba54 100644
--- a/src/python/loxi/of13/meter_band.py
+++ b/src/python/loxi/of13/meter_band.py
@@ -51,7 +51,7 @@
obj.type = reader.read("!H")[0]
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
return obj
def __eq__(self, other):
@@ -100,7 +100,7 @@
assert(_type == 1)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.rate = reader.read("!L")[0]
obj.burst_size = reader.read("!L")[0]
reader.skip(4)
@@ -164,7 +164,7 @@
assert(_type == 2)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.rate = reader.read("!L")[0]
obj.burst_size = reader.read("!L")[0]
obj.prec_level = reader.read("!B")[0]
@@ -232,7 +232,7 @@
assert(_type == 65535)
_len = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_len - (2 + 2))
+ reader = orig_reader.slice(_len, 4)
obj.rate = reader.read("!L")[0]
obj.burst_size = reader.read("!L")[0]
obj.experimenter = reader.read("!L")[0]