diff options
-rw-r--r-- | ryu/lib/packet/bgp.py | 4 | ||||
-rw-r--r-- | ryu/services/protocols/bgp/peer.py | 3 | ||||
-rw-r--r-- | ryu/services/protocols/bgp/speaker.py | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/ryu/lib/packet/bgp.py b/ryu/lib/packet/bgp.py index 55bac822..c65e1544 100644 --- a/ryu/lib/packet/bgp.py +++ b/ryu/lib/packet/bgp.py @@ -581,6 +581,10 @@ _rf_map = { } +def get_rf(afi, safi): + return _rf_map[(afi, safi)] + + def pad(bin, len_): assert len(bin) <= len_ return bin + (len_ - len(bin)) * '\0' diff --git a/ryu/services/protocols/bgp/peer.py b/ryu/services/protocols/bgp/peer.py index 12f8da96..4b3675ab 100644 --- a/ryu/services/protocols/bgp/peer.py +++ b/ryu/services/protocols/bgp/peer.py @@ -47,6 +47,7 @@ from ryu.lib.packet.bgp import RF_IPv6_UC from ryu.lib.packet.bgp import RF_IPv4_VPN from ryu.lib.packet.bgp import RF_IPv6_VPN from ryu.lib.packet.bgp import RF_RTC_UC +from ryu.lib.packet.bgp import get_rf from ryu.lib.packet.bgp import BGPOpen from ryu.lib.packet.bgp import BGPUpdate @@ -1521,7 +1522,7 @@ class Peer(Source, Sink, NeighborConfListener, Activity): demarcation) def _handle_route_refresh_req(self, afi, safi): - rr_af = RouteFamily(afi, safi) + rr_af = get_rf(afi, safi) self.state.incr(PeerCounterNames.RECV_REFRESH) # Check if peer has asked for route-refresh for af that was advertised diff --git a/ryu/services/protocols/bgp/speaker.py b/ryu/services/protocols/bgp/speaker.py index fc7ae9de..d079d6fd 100644 --- a/ryu/services/protocols/bgp/speaker.py +++ b/ryu/services/protocols/bgp/speaker.py @@ -42,6 +42,7 @@ from ryu.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL from ryu.lib.packet.bgp import BGP_CAP_ROUTE_REFRESH from ryu.lib.packet.bgp import BGP_ERROR_HOLD_TIMER_EXPIRED from ryu.lib.packet.bgp import BGP_ERROR_SUB_HOLD_TIMER_EXPIRED +from ryu.lib.packet.bgp import get_rf from ryu.services.protocols.bgp.base import Activity from ryu.services.protocols.bgp.base import add_bgp_error_metadata @@ -238,7 +239,7 @@ class BgpProtocol(Protocol, Activity): afs = [] for afi, safi in afi_safi: - afs.append(RouteFamily(afi, safi)) + afs.append(get_rf(afi, safi)) return afs def is_mbgp_cap_valid(self, route_family): |