summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-08-14 17:42:30 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-08-14 18:07:45 +0900
commita60c18207e123367dc1c7862cb3fa1c577c94572 (patch)
treeb4f0a98133803588cc2f4d096f473f6b5554d59a
parentad2d2678795d9d37e46f248ca7a9567dda068a84 (diff)
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>
-rw-r--r--doc/source/library_bgp_speaker.rst3
-rw-r--r--ryu/services/protocols/bgp/bgpspeaker.py24
2 files changed, 22 insertions, 5 deletions
diff --git a/doc/source/library_bgp_speaker.rst b/doc/source/library_bgp_speaker.rst
index d6c59429..e17d8247 100644
--- a/doc/source/library_bgp_speaker.rst
+++ b/doc/source/library_bgp_speaker.rst
@@ -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)
diff --git a/ryu/services/protocols/bgp/bgpspeaker.py b/ryu/services/protocols/bgp/bgpspeaker.py
index a2993beb..73899aa2 100644
--- a/ryu/services/protocols/bgp/bgpspeaker.py
+++ b/ryu/services/protocols/bgp/bgpspeaker.py
@@ -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)