mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-08 13:56:09 +02:00
bgp: fix the way of getting RouteFamily object
RouteFamily objects are treated as a singleton object. However they are created in peer.py, so I added method to get RouteFamily object in bgp.py and changed codes to use it. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
3c0c9ce737
commit
86192caf07
@ -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'
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user