BGPSpeaker: Fix to enable to notify peer down

If BGPSpeaker.neighbor_del() is called, an event to notify peer down
via _notify_peer_down() method will be generated.
But when _notify_peer_down() method is called, peer.protocol is
already cleaned up with None, so _notify_peer_down() method will fail
to get the neighbor info (IP address, AS number).

This patch fixes to retrieve the neighbor info from the neighbor
configuration info of Peer class and fixes this problem.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
IWASE Yusuke 2016-09-26 13:59:54 +09:00 committed by FUJITA Tomonori
parent a3ab6c8ab3
commit 81d5d8f568

View File

@ -211,8 +211,8 @@ class BGPSpeaker(object):
hub.spawn(ssh.SSH_CLI_CONTROLLER.start)
def _notify_peer_down(self, peer):
remote_ip = peer.protocol.recv_open_msg.bgp_identifier
remote_as = peer.protocol.recv_open_msg.my_as
remote_ip = peer.ip_address
remote_as = peer.remote_as
if self._peer_down_handler:
self._peer_down_handler(remote_ip, remote_as)