コード例 #1
0
    def __init__(self):

        LOG.debug("Instantiating BGPManager")

        if cfg.CONF.BGP.enable_rtc:
            first_local_subscriber_callback = self.rtc_advertisement_for_sub
            last_local_subscriber_callback = self.rtc_withdrawal_for_sub
        else:
            first_local_subscriber_callback = None
            last_local_subscriber_callback = None

        self.rtm = rtm.RouteTableManager(first_local_subscriber_callback,
                                         last_local_subscriber_callback)

        self.rtm.start()

        self.peers = {}
        if cfg.CONF.BGP.peers:
            for peer_address in cfg.CONF.BGP.peers:
                LOG.debug("Creating a peer worker for %s", peer_address)
                peer_worker = exabgp_peer_worker.ExaBGPPeerWorker(self,
                                                                  peer_address)
                self.peers[peer_address] = peer_worker
                peer_worker.start()

        # we need a .name since we'll masquerade as a route_entry source
        self.name = "BGPManager"

        engine.EventSource.__init__(self, self.rtm)
コード例 #2
0
 def setUp(self):
     super(TestRouteTableManager, self).setUp()
     self.rtm = rtm.RouteTableManager(mock.Mock(), mock.Mock())
     self.rtm.start()
     self.set_event_target_worker(self.rtm)