[libvirt] [PATCH] virNetSocketCheckProtocols: handle EAI_NONAME as IPv6 unavailable

Guido Günther agx at sigxcpu.org
Tue Aug 11 11:46:44 UTC 2015


When running the test suite using "unshare -n" we might have IPv6 but no
configured addresses. Due to AI_ADDRCONFIG getaddrinfo then fails with
EAI_NONAME which we should then treat as IPv6 unavailable.
---
 src/rpc/virnetsocket.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
index 106d09a..5e5f1ab 100644
--- a/src/rpc/virnetsocket.c
+++ b/src/rpc/virnetsocket.c
@@ -183,7 +183,8 @@ int virNetSocketCheckProtocols(bool *hasIPv4,
 
     if ((gaierr = getaddrinfo("::1", NULL, &hints, &ai)) != 0) {
         if (gaierr == EAI_ADDRFAMILY ||
-            gaierr == EAI_FAMILY) {
+            gaierr == EAI_FAMILY ||
+            gaierr == EAI_NONAME) {
             *hasIPv6 = false;
         } else {
             virReportError(VIR_ERR_INTERNAL_ERROR,
-- 
2.1.4




More information about the libvir-list mailing list