summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/lib/packet/bgp.py4
-rw-r--r--ryu/services/protocols/bgp/peer.py3
-rw-r--r--ryu/services/protocols/bgp/speaker.py3
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):