>From 5f24f982b2699ef32a5c998fe739724b1e9b63d2 Mon Sep 17 00:00:00 2001
From: FUJITA Tomonori <[email protected]>
Date: Wed, 23 Sep 2015 13:01:42 +0900
Subject: [PATCH] bgp: support disabling listening socket

Setting bgp_server_port to 0 disables listening socket

Signed-off-by: FUJITA Tomonori <[email protected]>
---
 ryu/services/protocols/bgp/core.py          | 12 +++++++-----
 ryu/services/protocols/bgp/rtconf/common.py |  2 +-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/ryu/services/protocols/bgp/core.py 
b/ryu/services/protocols/bgp/core.py
index 59a37aa..3e0caa8 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 b4ac8da..cfef841 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
-- 
1.9.1


------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to