diff --git a/simulator/extctrl2014.py b/simulator/extctrl2014.py index 56e5631bf53d5cf9220e98fda348ba8985212208..28e7029a21484146b3b818a888dc4cae87539acd 100644 --- a/simulator/extctrl2014.py +++ b/simulator/extctrl2014.py @@ -156,15 +156,16 @@ class Packet: self.destination = buf.read(6) self.source = buf.read(6) self.eth_type = buf.read(2) - flags = buf.decode_byte() - self.flags = flags & flag_MASK - self.kind = flags & kind_MASK - self.channel = buf.decode_packed32() - self.cookie = buf.decode_uint32() - self.index = buf.decode_uint32() - self.frag_num = buf.decode_packed32() - frag_length = buf.decode_packed32() - self.data = buf.read(frag_length) + if self.eth_type == 'EX': + flags = buf.decode_byte() + self.flags = flags & flag_MASK + self.kind = flags & kind_MASK + self.channel = buf.decode_packed32() + self.cookie = buf.decode_uint32() + self.index = buf.decode_uint32() + self.frag_num = buf.decode_packed32() + frag_length = buf.decode_packed32() + self.data = buf.read(frag_length) def join(self, other): if self.destination != other.destination: