reserved field must be 0. this patch add an assertion and make reserved field invisible when stringified
Signed-off-by: ISHIDA Wataru <[email protected]> --- ryu/lib/packet/bgp.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ryu/lib/packet/bgp.py b/ryu/lib/packet/bgp.py index ff6fdd0..60e3b49 100644 --- a/ryu/lib/packet/bgp.py +++ b/ryu/lib/packet/bgp.py @@ -1982,7 +1982,7 @@ class BGPPathAttributeMpReachNLRI(_PathAttribute): self._next_hop_bin = addrconv.ipv6.text_to_bin(next_hop) else: raise ValueError('Invalid address familly(%d)' % afi) - self.reserved = reserved + self._reserved = reserved self.nlri = nlri addr_cls = _get_addr_class(afi, safi) for i in nlri: @@ -1996,6 +1996,7 @@ class BGPPathAttributeMpReachNLRI(_PathAttribute): next_hop_bin = rest[:next_hop_len] rest = rest[next_hop_len:] reserved = rest[:1] + assert reserved == '\0' binnlri = rest[1:] addr_cls = _get_addr_class(afi, safi) nlri = [] @@ -2039,13 +2040,13 @@ class BGPPathAttributeMpReachNLRI(_PathAttribute): next_hop_len = self.next_hop_len next_hop_bin = self._next_hop_bin - self.reserved = '\0' + self._reserved = '\0' buf = bytearray() msg_pack_into(self._VALUE_PACK_STR, buf, 0, self.afi, self.safi, next_hop_len) buf += next_hop_bin - buf += self.reserved + buf += self._reserved binnlri = bytearray() for n in self.nlri: binnlri += n.serialize() -- 1.7.10.4 ------------------------------------------------------------------------------ _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
