update pyloxi to floodlight/loxigen-artifacts @ f9dd10108ee6f7f770b4433e23eaf875a8abf1df
diff --git a/src/python/loxi/of14/action.py b/src/python/loxi/of14/action.py
index 098ae7f..21a00b9 100644
--- a/src/python/loxi/of14/action.py
+++ b/src/python/loxi/of14/action.py
@@ -61,7 +61,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
@@ -119,7 +119,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
@@ -178,7 +178,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]
@@ -230,7 +230,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]
@@ -290,7 +290,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]
@@ -361,7 +361,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]
@@ -427,7 +427,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]
@@ -474,7 +474,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
@@ -514,7 +514,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
@@ -554,7 +554,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
@@ -594,7 +594,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
@@ -638,7 +638,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
@@ -696,7 +696,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]
@@ -746,7 +746,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]
@@ -801,7 +801,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)
@@ -855,7 +855,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
@@ -899,7 +899,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
@@ -939,7 +939,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
@@ -984,7 +984,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
@@ -1033,7 +1033,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
@@ -1082,7 +1082,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
@@ -1132,7 +1132,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
@@ -1180,7 +1180,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
@@ -1229,7 +1229,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
@@ -1277,7 +1277,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/of14/action_id.py b/src/python/loxi/of14/action_id.py
index 4ebcfcd..42c3c6b 100644
--- a/src/python/loxi/of14/action_id.py
+++ b/src/python/loxi/of14/action_id.py
@@ -60,7 +60,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):
@@ -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]
return obj
@@ -164,7 +164,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]
@@ -210,7 +210,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]
@@ -256,7 +256,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]
@@ -302,7 +302,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]
@@ -348,7 +348,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]
@@ -390,7 +390,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):
@@ -428,7 +428,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):
@@ -466,7 +466,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):
@@ -504,7 +504,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):
@@ -542,7 +542,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):
@@ -594,7 +594,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]
@@ -640,7 +640,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]
@@ -682,7 +682,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):
@@ -720,7 +720,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):
@@ -758,7 +758,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):
@@ -796,7 +796,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):
@@ -834,7 +834,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):
@@ -872,7 +872,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):
@@ -910,7 +910,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):
@@ -948,7 +948,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):
@@ -986,7 +986,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):
@@ -1024,7 +1024,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):
@@ -1062,7 +1062,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/of14/async_config_prop.py b/src/python/loxi/of14/async_config_prop.py
index f2c1663..63f4d46 100644
--- a/src/python/loxi/of14/async_config_prop.py
+++ b/src/python/loxi/of14/async_config_prop.py
@@ -60,7 +60,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):
@@ -98,7 +98,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)
return obj
def __eq__(self, other):
@@ -136,7 +136,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)
return obj
def __eq__(self, other):
@@ -179,7 +179,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.mask = reader.read("!L")[0]
return obj
@@ -226,7 +226,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.mask = reader.read("!L")[0]
return obj
@@ -273,7 +273,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.mask = reader.read("!L")[0]
return obj
@@ -320,7 +320,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.mask = reader.read("!L")[0]
return obj
@@ -367,7 +367,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.mask = reader.read("!L")[0]
return obj
@@ -414,7 +414,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.mask = reader.read("!L")[0]
return obj
@@ -461,7 +461,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.mask = reader.read("!L")[0]
return obj
@@ -508,7 +508,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.mask = reader.read("!L")[0]
return obj
@@ -555,7 +555,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.mask = reader.read("!L")[0]
return obj
@@ -602,7 +602,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.mask = reader.read("!L")[0]
return obj
@@ -649,7 +649,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.mask = reader.read("!L")[0]
return obj
@@ -696,7 +696,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.mask = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of14/bsn_tlv.py b/src/python/loxi/of14/bsn_tlv.py
index f54e7d5..e1e3343 100644
--- a/src/python/loxi/of14/bsn_tlv.py
+++ b/src/python/loxi/of14/bsn_tlv.py
@@ -60,7 +60,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):
@@ -103,7 +103,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
@@ -150,7 +150,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
@@ -197,7 +197,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
@@ -244,7 +244,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
@@ -291,7 +291,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
@@ -338,7 +338,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
@@ -385,7 +385,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
@@ -406,6 +406,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
@@ -432,7 +479,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
@@ -479,7 +526,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
@@ -526,7 +573,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
@@ -573,7 +620,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
@@ -620,7 +667,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
@@ -667,7 +714,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
@@ -714,7 +761,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
@@ -761,7 +808,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
@@ -808,7 +855,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
@@ -855,7 +902,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
@@ -902,7 +949,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
@@ -949,7 +996,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
@@ -991,7 +1038,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):
@@ -1034,7 +1081,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
@@ -1081,7 +1128,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
@@ -1128,7 +1175,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
@@ -1175,7 +1222,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
@@ -1222,7 +1269,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
@@ -1269,7 +1316,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
@@ -1316,7 +1363,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
@@ -1363,7 +1410,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
@@ -1410,7 +1457,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
@@ -1457,7 +1504,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
@@ -1504,7 +1551,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
@@ -1551,7 +1598,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
@@ -1572,6 +1619,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
@@ -1598,7 +1786,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
@@ -1645,7 +1833,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
@@ -1692,7 +1880,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
@@ -1739,7 +1927,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
@@ -1786,7 +1974,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
@@ -1833,7 +2021,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
@@ -1880,7 +2068,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
@@ -1927,7 +2115,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
@@ -1974,7 +2162,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
@@ -2021,7 +2209,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
@@ -2068,7 +2256,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
@@ -2120,7 +2308,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
@@ -2172,7 +2360,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
@@ -2219,7 +2407,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
@@ -2266,7 +2454,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
@@ -2313,7 +2501,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
@@ -2360,7 +2548,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
@@ -2407,7 +2595,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
@@ -2454,7 +2642,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
@@ -2501,7 +2689,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
@@ -2548,7 +2736,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
@@ -2595,7 +2783,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
@@ -2642,7 +2830,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
@@ -2689,7 +2877,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
@@ -2736,7 +2924,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
@@ -2783,7 +2971,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
@@ -2830,7 +3018,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
@@ -2877,7 +3065,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/of14/bundle_prop.py b/src/python/loxi/of14/bundle_prop.py
index f5d8b1a..38a4fff 100644
--- a/src/python/loxi/of14/bundle_prop.py
+++ b/src/python/loxi/of14/bundle_prop.py
@@ -60,7 +60,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):
@@ -115,7 +115,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.exp_type = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of14/common.py b/src/python/loxi/of14/common.py
index af39685..5d2e475 100644
--- a/src/python/loxi/of14/common.py
+++ b/src/python/loxi/of14/common.py
@@ -236,6 +236,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):
@@ -310,7 +352,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]
@@ -380,7 +422,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)
@@ -440,7 +482,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)
@@ -770,7 +812,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)
@@ -908,7 +950,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):
@@ -953,7 +995,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)
@@ -1061,7 +1103,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)
@@ -1189,7 +1231,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]
@@ -1263,7 +1305,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)
@@ -1327,7 +1369,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]
@@ -1493,7 +1535,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]
@@ -1608,7 +1650,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]
@@ -1693,7 +1735,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]
@@ -1775,7 +1817,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):
@@ -1818,7 +1860,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
@@ -1866,7 +1908,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
@@ -1965,7 +2007,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)
@@ -2127,7 +2169,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]
@@ -2212,7 +2254,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
@@ -2291,7 +2333,7 @@
obj.port_no = util.unpack_port_no(reader)
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (4 + 2))
+ reader = orig_reader.slice(_length, 6)
reader.skip(2)
obj.hw_addr = list(reader.read('!6B'))
reader.skip(2)
@@ -2415,7 +2457,7 @@
obj = port_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.duration_sec = reader.read("!L")[0]
@@ -2526,7 +2568,7 @@
obj.queue_id = reader.read("!L")[0]
_length = reader.read("!H")[0]
orig_reader = reader
- reader = orig_reader.slice(_length - (8 + 2))
+ reader = orig_reader.slice(_length, 10)
reader.skip(6)
obj.properties = loxi.generic_util.unpack_list(reader, queue_desc_prop.queue_desc_prop.unpack)
return obj
@@ -2586,7 +2628,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
@@ -2644,7 +2686,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)
@@ -2697,7 +2739,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)
@@ -2748,7 +2790,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)
@@ -2829,7 +2871,7 @@
obj = queue_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(6)
obj.port_no = util.unpack_port_no(reader)
obj.queue_id = reader.read("!L")[0]
@@ -2913,7 +2955,7 @@
obj = table_desc()
_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.config = reader.read("!L")[0]
@@ -2969,7 +3011,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):
@@ -3012,7 +3054,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
@@ -3059,7 +3101,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
@@ -3106,7 +3148,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
@@ -3153,7 +3195,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
@@ -3217,7 +3259,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())
@@ -3288,7 +3330,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())
@@ -3342,7 +3384,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
@@ -3389,7 +3431,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
@@ -3436,7 +3478,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
@@ -3483,7 +3525,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
@@ -3530,7 +3572,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
@@ -3577,7 +3619,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.table_ids = loxi.generic_util.unpack_list(reader, common.uint8.unpack)
return obj
@@ -3624,7 +3666,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
@@ -3671,7 +3713,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
@@ -3718,7 +3760,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
@@ -3765,7 +3807,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
@@ -3812,7 +3854,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
@@ -3886,7 +3928,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")
@@ -3963,7 +4005,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.flags = reader.read("!L")[0]
return obj
@@ -4021,7 +4063,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.exp_type = reader.read("!L")[0]
return obj
@@ -4080,7 +4122,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.vacancy_down = reader.read("!B")[0]
obj.vacancy_up = reader.read("!B")[0]
obj.vacancy = reader.read("!B")[0]
diff --git a/src/python/loxi/of14/const.py b/src/python/loxi/of14/const.py
index 5fa645e..6813ac2 100644
--- a/src/python/loxi/of14/const.py
+++ b/src/python/loxi/of14/const.py
@@ -1103,6 +1103,7 @@
OFPPF_AUTONEG = 8192
OFPPF_PAUSE = 16384
OFPPF_PAUSE_ASYM = 32768
+OFPPF_BSN_BREAKOUT_CAPABLE = 2147483648
ofp_port_features_map = {
1: 'OFPPF_10MB_HD',
@@ -1121,6 +1122,7 @@
8192: 'OFPPF_AUTONEG',
16384: 'OFPPF_PAUSE',
32768: 'OFPPF_PAUSE_ASYM',
+ 2147483648: 'OFPPF_BSN_BREAKOUT_CAPABLE',
}
# Identifiers from group ofp_port_mod_failed_code
diff --git a/src/python/loxi/of14/instruction.py b/src/python/loxi/of14/instruction.py
index 5b451fa..cb457cc 100644
--- a/src/python/loxi/of14/instruction.py
+++ b/src/python/loxi/of14/instruction.py
@@ -60,7 +60,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):
@@ -104,7 +104,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
@@ -164,7 +164,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
@@ -223,7 +223,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]
@@ -271,7 +271,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]
@@ -319,7 +319,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]
@@ -367,7 +367,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]
@@ -415,7 +415,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]
@@ -463,7 +463,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]
@@ -511,7 +511,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]
@@ -559,7 +559,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]
@@ -655,7 +655,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]
@@ -703,7 +703,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]
@@ -751,7 +751,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]
@@ -795,7 +795,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
@@ -840,7 +840,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
@@ -888,7 +888,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
@@ -936,7 +936,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
@@ -990,7 +990,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/of14/instruction_id.py b/src/python/loxi/of14/instruction_id.py
index aca4976..56b0665 100644
--- a/src/python/loxi/of14/instruction_id.py
+++ b/src/python/loxi/of14/instruction_id.py
@@ -60,7 +60,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):
@@ -98,7 +98,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):
@@ -148,7 +148,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
@@ -202,7 +202,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]
@@ -248,7 +248,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]
@@ -294,7 +294,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]
@@ -340,7 +340,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]
@@ -386,7 +386,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]
@@ -432,7 +432,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]
@@ -478,7 +478,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]
@@ -524,7 +524,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]
@@ -570,7 +570,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]
@@ -616,7 +616,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]
@@ -662,7 +662,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]
@@ -708,7 +708,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]
@@ -750,7 +750,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):
@@ -788,7 +788,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):
@@ -826,7 +826,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):
@@ -864,7 +864,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):
@@ -902,7 +902,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/of14/message.py b/src/python/loxi/of14/message.py
index 67c8f9a..24c0b44 100644
--- a/src/python/loxi/of14/message.py
+++ b/src/python/loxi/of14/message.py
@@ -69,7 +69,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
@@ -141,7 +141,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]
@@ -227,7 +227,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)
@@ -323,7 +323,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]
@@ -425,7 +425,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)
@@ -531,7 +531,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
@@ -599,7 +599,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 == 15)
@@ -670,7 +670,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.properties = loxi.generic_util.unpack_list(reader, async_config_prop.async_config_prop.unpack)
return obj
@@ -734,7 +734,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.properties = loxi.generic_util.unpack_list(reader, async_config_prop.async_config_prop.unpack)
return obj
@@ -798,7 +798,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.properties = loxi.generic_util.unpack_list(reader, async_config_prop.async_config_prop.unpack)
return obj
@@ -869,7 +869,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)
@@ -947,7 +947,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)
@@ -1025,7 +1025,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)
@@ -1103,7 +1103,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 == 14)
@@ -1181,7 +1181,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)
@@ -1247,7 +1247,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
@@ -1301,7 +1301,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
@@ -1377,7 +1377,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]
@@ -1457,7 +1457,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)
@@ -1530,7 +1530,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)
@@ -1608,7 +1608,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)
@@ -1675,7 +1675,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)
@@ -1742,7 +1742,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)
@@ -1809,7 +1809,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)
@@ -1881,7 +1881,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)
@@ -1958,7 +1958,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)
@@ -2030,7 +2030,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)
@@ -2097,7 +2097,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)
@@ -2180,7 +2180,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)
@@ -2271,7 +2271,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)
@@ -2354,7 +2354,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)
@@ -2450,7 +2450,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)
@@ -2541,7 +2541,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)
@@ -2619,7 +2619,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)
@@ -2702,7 +2702,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)
@@ -2785,7 +2785,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)
@@ -2868,7 +2868,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)
@@ -2956,7 +2956,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)
@@ -3052,7 +3052,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)
@@ -3140,7 +3140,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)
@@ -3207,7 +3207,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)
@@ -3279,7 +3279,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)
@@ -3356,7 +3356,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)
@@ -3389,6 +3389,192 @@
bsn_header.subtypes[36] = bsn_flow_idle_enable_set_request
+class bsn_generic_stats_reply(bsn_stats_reply):
+ version = 5
+ 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 == 5)
+ _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 = 5
+ 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 == 5)
+ _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 = 5
type = 19
@@ -3436,7 +3622,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)
@@ -3524,7 +3710,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)
@@ -3615,7 +3801,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)
@@ -3709,7 +3895,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)
@@ -3800,7 +3986,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)
@@ -3883,7 +4069,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)
@@ -3975,7 +4161,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)
@@ -4068,7 +4254,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)
@@ -4153,7 +4339,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)
@@ -4252,7 +4438,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)
@@ -4351,7 +4537,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)
@@ -4450,7 +4636,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)
@@ -4547,7 +4733,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)
@@ -4633,7 +4819,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)
@@ -4716,7 +4902,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)
@@ -4791,7 +4977,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)
@@ -4858,7 +5044,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)
@@ -4926,7 +5112,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)
@@ -5000,7 +5186,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)
@@ -5073,7 +5259,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)
@@ -5140,7 +5326,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)
@@ -5220,7 +5406,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)
@@ -5308,7 +5494,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)
@@ -5439,7 +5625,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)
@@ -5575,7 +5761,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)
@@ -5658,7 +5844,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)
@@ -5738,7 +5924,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)
@@ -5825,7 +6011,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)
@@ -5923,7 +6109,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)
@@ -6016,7 +6202,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)
@@ -6103,7 +6289,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)
@@ -6201,7 +6387,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)
@@ -6297,7 +6483,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)
@@ -6385,7 +6571,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)
@@ -6470,7 +6656,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)
@@ -6547,7 +6733,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)
@@ -6624,7 +6810,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)
@@ -6732,7 +6918,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)
@@ -6836,7 +7022,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)
@@ -6909,7 +7095,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)
@@ -7002,7 +7188,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)
@@ -7095,7 +7281,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)
@@ -7167,7 +7353,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)
@@ -7247,7 +7433,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)
@@ -7330,7 +7516,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)
@@ -7413,7 +7599,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)
@@ -7496,7 +7682,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)
@@ -7578,7 +7764,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)
@@ -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)
@@ -7724,7 +7910,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)
@@ -7796,7 +7982,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)
@@ -7873,7 +8059,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)
@@ -7945,7 +8131,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)
@@ -8017,7 +8203,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)
@@ -8097,7 +8283,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)
@@ -8185,7 +8371,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)
@@ -8273,7 +8459,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)
@@ -8361,7 +8547,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)
@@ -8448,7 +8634,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.xid = reader.read("!L")[0]
obj.bundle_id = reader.read("!L")[0]
reader.skip(2)
@@ -8538,7 +8724,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.xid = reader.read("!L")[0]
obj.bundle_id = reader.read("!L")[0]
obj.bundle_ctrl_type = reader.read("!H")[0]
@@ -8624,7 +8810,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 == 17)
@@ -8723,7 +8909,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)
@@ -8818,7 +9004,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)
@@ -8885,7 +9071,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
@@ -8949,7 +9135,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
@@ -9025,7 +9211,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)
@@ -9127,7 +9313,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]
@@ -9212,7 +9398,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
@@ -9339,7 +9525,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]
@@ -9523,7 +9709,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]
@@ -9711,7 +9897,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]
@@ -9899,7 +10085,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]
@@ -10032,7 +10218,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)
@@ -10165,7 +10351,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]
@@ -10353,7 +10539,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]
@@ -10486,7 +10672,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 == 16)
@@ -10607,7 +10793,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]
@@ -10729,7 +10915,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)
@@ -10836,7 +11022,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)
@@ -10940,7 +11126,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]
@@ -11004,7 +11190,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
@@ -11086,7 +11272,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]
@@ -11176,7 +11362,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)
@@ -11266,7 +11452,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)
@@ -11351,7 +11537,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)
@@ -11426,7 +11612,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)
@@ -11546,7 +11732,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)
@@ -11666,7 +11852,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)
@@ -11740,7 +11926,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)
@@ -11824,7 +12010,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)
@@ -11909,7 +12095,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)
@@ -11990,7 +12176,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)
@@ -12063,7 +12249,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
@@ -12134,7 +12320,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)
@@ -12213,7 +12399,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)
@@ -12294,7 +12480,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)
@@ -12375,7 +12561,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)
@@ -12450,7 +12636,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)
@@ -12532,7 +12718,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]
@@ -12618,7 +12804,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)
@@ -12697,7 +12883,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)
@@ -12778,7 +12964,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)
@@ -12860,7 +13046,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)
@@ -12954,7 +13140,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]
@@ -13067,7 +13253,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)
@@ -13156,7 +13342,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)
@@ -13231,7 +13417,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)
@@ -13320,7 +13506,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)
@@ -13413,7 +13599,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)
@@ -13492,7 +13678,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)
@@ -13573,7 +13759,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)
@@ -13652,7 +13838,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)
@@ -13730,7 +13916,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 == 15)
@@ -13805,7 +13991,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 == 15)
@@ -13879,7 +14065,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)
@@ -13958,7 +14144,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)
@@ -14043,7 +14229,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)
@@ -14125,7 +14311,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.xid = reader.read("!L")[0]
obj.role = reader.read("!L")[0]
obj.data = str(reader.read_all())
@@ -14200,7 +14386,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)
@@ -14276,7 +14462,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)
@@ -14353,7 +14539,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)
@@ -14440,7 +14626,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.xid = reader.read("!L")[0]
obj.role = reader.read("!L")[0]
obj.reason = reader.read("!B")[0]
@@ -14525,7 +14711,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]
@@ -14601,7 +14787,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)
@@ -14680,7 +14866,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 == 14)
@@ -14755,7 +14941,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 == 14)
@@ -14829,7 +15015,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)
@@ -14908,7 +15094,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)
@@ -14988,7 +15174,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)
@@ -15071,7 +15257,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)
@@ -15153,7 +15339,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)
@@ -15232,7 +15418,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)
@@ -15307,7 +15493,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)
@@ -15385,7 +15571,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.xid = reader.read("!L")[0]
obj.role = reader.read("!L")[0]
obj.reason = reader.read("!B")[0]
diff --git a/src/python/loxi/of14/meter_band.py b/src/python/loxi/of14/meter_band.py
index 1b75f02..0f23bf2 100644
--- a/src/python/loxi/of14/meter_band.py
+++ b/src/python/loxi/of14/meter_band.py
@@ -60,7 +60,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):
@@ -109,7 +109,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)
@@ -173,7 +173,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]
@@ -241,7 +241,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]
diff --git a/src/python/loxi/of14/port_desc_prop.py b/src/python/loxi/of14/port_desc_prop.py
index 3674b98..674b85d 100644
--- a/src/python/loxi/of14/port_desc_prop.py
+++ b/src/python/loxi/of14/port_desc_prop.py
@@ -60,7 +60,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):
@@ -129,7 +129,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)
reader.skip(4)
obj.curr = reader.read("!L")[0]
obj.advertised = reader.read("!L")[0]
@@ -214,7 +214,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.exp_type = reader.read("!L")[0]
return obj
@@ -304,7 +304,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)
reader.skip(4)
obj.supported = reader.read("!L")[0]
obj.tx_min_freq_lmda = reader.read("!L")[0]
diff --git a/src/python/loxi/of14/port_mod_prop.py b/src/python/loxi/of14/port_mod_prop.py
index bf68e3c..2448a96 100644
--- a/src/python/loxi/of14/port_mod_prop.py
+++ b/src/python/loxi/of14/port_mod_prop.py
@@ -60,7 +60,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):
@@ -103,7 +103,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.advertise = reader.read("!L")[0]
return obj
@@ -162,7 +162,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.exp_type = reader.read("!L")[0]
return obj
@@ -231,7 +231,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.configure = reader.read("!L")[0]
obj.freq_ldma = reader.read("!L")[0]
obj.fl_offset = reader.read("!L")[0]
diff --git a/src/python/loxi/of14/port_stats_prop.py b/src/python/loxi/of14/port_stats_prop.py
index b20325f..6d6402c 100644
--- a/src/python/loxi/of14/port_stats_prop.py
+++ b/src/python/loxi/of14/port_stats_prop.py
@@ -60,7 +60,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):
@@ -119,7 +119,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)
reader.skip(4)
obj.rx_frame_err = reader.read("!Q")[0]
obj.rx_over_err = reader.read("!Q")[0]
@@ -199,7 +199,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.exp_type = reader.read("!L")[0]
obj.experimenter_data = str(reader.read_all())
@@ -304,7 +304,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)
reader.skip(4)
obj.flags = reader.read("!L")[0]
obj.tx_freq_lmda = reader.read("!L")[0]
diff --git a/src/python/loxi/of14/queue_desc_prop.py b/src/python/loxi/of14/queue_desc_prop.py
index 5e90246..7382d30 100644
--- a/src/python/loxi/of14/queue_desc_prop.py
+++ b/src/python/loxi/of14/queue_desc_prop.py
@@ -60,7 +60,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):
@@ -115,7 +115,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.exp_type = reader.read("!L")[0]
return obj
@@ -165,7 +165,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.rate = reader.read("!H")[0]
reader.skip(2)
return obj
@@ -214,7 +214,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.rate = reader.read("!H")[0]
reader.skip(2)
return obj
diff --git a/src/python/loxi/of14/queue_stats_prop.py b/src/python/loxi/of14/queue_stats_prop.py
index a294436..982a8e3 100644
--- a/src/python/loxi/of14/queue_stats_prop.py
+++ b/src/python/loxi/of14/queue_stats_prop.py
@@ -60,7 +60,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):
@@ -115,7 +115,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.exp_type = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of14/role_prop.py b/src/python/loxi/of14/role_prop.py
index 5baa1e0..f2744a4 100644
--- a/src/python/loxi/of14/role_prop.py
+++ b/src/python/loxi/of14/role_prop.py
@@ -60,7 +60,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):
@@ -115,7 +115,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.exp_type = reader.read("!L")[0]
return obj
diff --git a/src/python/loxi/of14/table_mod_prop.py b/src/python/loxi/of14/table_mod_prop.py
index 4d538a1..457f3c2 100644
--- a/src/python/loxi/of14/table_mod_prop.py
+++ b/src/python/loxi/of14/table_mod_prop.py
@@ -60,7 +60,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):