Signed-off-by: IWASE Yusuke <iwase.yusu...@gmail.com>
---
 ryu/lib/hub.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/ryu/lib/hub.py b/ryu/lib/hub.py
index a5ac50a..182fabf 100644
--- a/ryu/lib/hub.py
+++ b/ryu/lib/hub.py
@@ -17,6 +17,8 @@
 import logging
 import os
 
+import netaddr
+
 
 # We don't bother to use cfg.py because monkey patch needs to be
 # called very early. Instead, we use an environment variable to
@@ -110,11 +112,19 @@ if HUB_TYPE == 'eventlet':
             assert backlog is None
             assert spawn == 'default'
 
-            if ':' in listen_info[0]:
+            if netaddr.valid_ipv4(listen_info[0]):
+                self.server = eventlet.listen(listen_info)
+            elif netaddr.valid_ipv6(listen_info[0]):
                 self.server = eventlet.listen(listen_info,
                                               family=socket.AF_INET6)
+            elif os.path.isdir(os.path.dirname(listen_info[0])):
+                # Case for Unix domain socket
+                self.server = eventlet.listen(listen_info[0],
+                                              family=socket.AF_UNIX)
             else:
-                self.server = eventlet.listen(listen_info)
+                raise ValueError(
+                    'Invalid listen_info: %s' % str(listen_info))
+
             if ssl_args:
                 def wrap_and_handle(sock, addr):
                     ssl_args.setdefault('server_side', True)
-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to