Currently if IPv6 is globally disabled (net.ipv6.conf.all.disable_ipv6=1) or
if IPv6 is disabled on loopback interface (net.ipv6.conf.lo.disable_ipv6=1)
the check doesn't work since no interface have ::1 and EADDRNOTAVAIL is
returned.

This causes a Python exception to be printed, like this:

Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "/usr/lib64/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address

In this case HAVE_IPV6 is not set and all IPv6 tests fails.
This commit fixes the problem by check also for EADDRNOTAVAIL.

CC: Ben Pfaff <[email protected]>
Fixes: 5c1d812d7fb3 ("tests: Avoid printing Python exception for hosts without 
IPv6 support.")
Signed-off-by: Timothy Redaelli <[email protected]>
---
 tests/atlocal.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/atlocal.in b/tests/atlocal.in
index 4e626266b..6fc30cbf8 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -123,7 +123,7 @@ import sys
 try:
     socket.socket(family=socket.AF_INET6).bind(("::1", 0, 0, 0))
 except socket.error as e:
-    if e.errno == errno.EAFNOSUPPORT:
+    if e.errno == errno.EAFNOSUPPORT or errno.EADDRNOTAVAIL:
         sys.exit(2)
     raise
 '
-- 
2.17.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to