Merge into master from pull request #161:
Allow controller host to be an IPv6 address. (https://github.com/floodlight/oftest/pull/161)
diff --git a/src/python/oftest/controller.py b/src/python/oftest/controller.py
index 5289fdd..acbe3fc 100644
--- a/src/python/oftest/controller.py
+++ b/src/python/oftest/controller.py
@@ -160,10 +160,14 @@
if self.passive:
self.logger.info("Create/listen at " + self.host + ":" +
str(self.port))
- self.listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ ai = socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
+ socket.SOCK_STREAM, 0, socket.AI_PASSIVE)
+ # Use first returned addrinfo
+ (family, socktype, proto, name, sockaddr) = ai[0]
+ self.listen_socket = socket.socket(family, socktype)
self.listen_socket.setsockopt(socket.SOL_SOCKET,
socket.SO_REUSEADDR, 1)
- self.listen_socket.bind((self.host, self.port))
+ self.listen_socket.bind(sockaddr)
self.listen_socket.listen(LISTEN_QUEUE_SIZE)
def filter_packet(self, rawmsg, hdr):