bgp: refine the API for connecting to bmp server

We might want a bgp speaker to talk with multiple bmp servers in the
future so I renamed these functions. Note that currently a speaker can
connect to only one bmp server.

I also update the example code on how to make the speaker to connect
to a bmp server.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
FUJITA Tomonori 2014-08-14 17:42:30 +09:00
parent ad2d267879
commit a60c18207e
2 changed files with 22 additions and 5 deletions

View File

@ -43,7 +43,8 @@ instance advertizes some prefixes.
best_path_change_handler=dump_remote_best_path_change)
speaker.neighbor_add('192.168.177.32', 64513)
# uncomment the below line if the speaker needs to talk with a bmp server.
# speaker.bmp_server_add('192.168.177.2', 11019)
count = 1
while True:
eventlet.sleep(30)

View File

@ -506,16 +506,32 @@ class BGPSpeaker(object):
in_filter = call(func_name, **param)
return in_filter
def bmp_start(self, host, port):
def bmp_server_add(self, address, port):
"""This method registers a new BMP (BGP monitoring Protocol)
server. The BGP speaker starts to send BMP messages to the
server. Currently, only one BMP server can be registered.
``address`` specifies the IP address of a BMP server.
``port`` specifies the listen port number of a BMP server.
"""
func_name = 'bmp.start'
param = {}
param['host'] = host
param['host'] = address
param['port'] = port
call(func_name, **param)
def bmp_stop(self, host, port):
def bmp_server_del(self, address, port):
""" This method unregister the registered BMP server.
``address`` specifies the IP address of a BMP server.
``port`` specifies the listen port number of a BMP server.
"""
func_name = 'bmp.stop'
param = {}
param['host'] = host
param['host'] = address
param['port'] = port
call(func_name, **param)