From 7a06df454b89a33472925121d71e71d213238989 Mon Sep 17 00:00:00 2001 From: ISHIDA Wataru Date: Mon, 18 Aug 2014 09:19:10 +0900 Subject: [PATCH] bgp: make reserved private variable reserved field must be 0. this patch add an assertion and make reserved field invisible when stringified Signed-off-by: ISHIDA Wataru Signed-off-by: FUJITA Tomonori --- 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 ff6fdd0c..60e3b49c 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()