diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2014-05-06 05:33:30 +0000 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2014-05-10 01:14:56 +0900 |
commit | 4f8d7a141188cebf3ecd949becd916af6c9ffc2d (patch) | |
tree | 42fc00167528f4350a92f8cda3b0a68429427b30 | |
parent | c560908633d03ec640518604c2f978591d1ab878 (diff) |
packet/bgp: enhanced route refresh support
Enhanced Route Refresh(draft-ietf-idr-bgp-enhanced-route-refresh) uses
reserved fields in a Route Refresh message as demarcation fileds.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/lib/packet/bgp.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/ryu/lib/packet/bgp.py b/ryu/lib/packet/bgp.py index e488653d..a3c852c7 100644 --- a/ryu/lib/packet/bgp.py +++ b/ryu/lib/packet/bgp.py @@ -2142,30 +2142,27 @@ class BGPRouteRefresh(BGPMessage): _MIN_LEN = BGPMessage._HDR_LEN + struct.calcsize(_PACK_STR) def __init__(self, - afi, safi, reserved=0, + afi, safi, demarcation=0, type_=BGP_MSG_ROUTE_REFRESH, len_=None, marker=None): super(BGPRouteRefresh, self).__init__(marker=marker, len_=len_, type_=type_) self.afi = afi self.safi = safi - self.reserved = reserved + self.demarcation = demarcation @classmethod def parser(cls, buf): - (afi, reserved, safi,) = struct.unpack_from(cls._PACK_STR, + (afi, demarcation, safi,) = struct.unpack_from(cls._PACK_STR, buffer(buf)) return { "afi": afi, - "reserved": reserved, "safi": safi, + "demarcation": demarcation, } def serialize_tail(self): - # fixup - self.reserved = 0 - return bytearray(struct.pack(self._PACK_STR, self.afi, - self.reserved, self.safi)) + self.demarcation, self.safi)) class StreamParser(stream_parser.StreamParser): |