summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-09-23 13:01:42 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-09-23 13:14:32 +0900
commit571f6a1c5ac4e5f50c34ab9955c7c20556e61355 (patch)
treea568b7aca7808a3e076abe1a266b0585363a31f3
parent448ebe99e9dc42f62bc1cc9b2e49228c9a2b6a61 (diff)
bgp: support disabling listening socket
Setting bgp_server_port to 0 disables listening socket Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/services/protocols/bgp/core.py12
-rw-r--r--ryu/services/protocols/bgp/rtconf/common.py2
2 files changed, 8 insertions, 6 deletions
diff --git a/ryu/services/protocols/bgp/core.py b/ryu/services/protocols/bgp/core.py
index 59a37aa2..3e0caa84 100644
--- a/ryu/services/protocols/bgp/core.py
+++ b/ryu/services/protocols/bgp/core.py
@@ -228,11 +228,13 @@ class CoreService(Factory, Activity):
server_addr = (CORE_IP, self._common_config.bgp_server_port)
waiter = kwargs.pop('waiter')
waiter.set()
- server_thread, sockets = self._listen_tcp(server_addr,
- self.start_protocol)
- self.listen_sockets = sockets
-
- server_thread.wait()
+ if self._common_config.bgp_server_port != 0:
+ server_thread, sockets = self._listen_tcp(server_addr,
+ self.start_protocol)
+ self.listen_sockets = sockets
+ server_thread.wait()
+ else:
+ self.listen_sockets = {}
processor_thread.wait()
# ========================================================================
diff --git a/ryu/services/protocols/bgp/rtconf/common.py b/ryu/services/protocols/bgp/rtconf/common.py
index b4ac8daf..cfef8419 100644
--- a/ryu/services/protocols/bgp/rtconf/common.py
+++ b/ryu/services/protocols/bgp/rtconf/common.py
@@ -144,7 +144,7 @@ def validate_bgp_server_port(server_port):
if not isinstance(server_port, numbers.Integral):
raise ConfigTypeError(desc=('Invalid bgp sever port configuration '
'value %s' % server_port))
- if server_port <= 0 or server_port > 65535:
+ if server_port < 0 or server_port > 65535:
raise ConfigValueError(desc='Invalid server port %s' % server_port)
return server_port