]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Support IPv6 in networkGetNetworkAddress
authorJán Tomko <jtomko@redhat.com>
Wed, 8 Apr 2015 14:36:42 +0000 (16:36 +0200)
committerJán Tomko <jtomko@redhat.com>
Fri, 10 Apr 2015 13:01:17 +0000 (15:01 +0200)
We've been explicitly requesting IPv4 for some reason,
even if there were only IPv6 addresses in the network
definition.

https://bugzilla.redhat.com/show_bug.cgi?id=1192318

src/network/bridge_driver.c

index 6db368bfc5e6dbca4a5d9b6f8121f3a233cf156a..d195085dc8f1f57b763dad22c668bf0d8d60aebd 100644 (file)
@@ -4485,12 +4485,12 @@ networkReleaseActualDevice(virDomainDefPtr dom,
  * @netname: the name of a network
  * @netaddr: string representation of IP address for that network.
  *
- * Attempt to return an IP (v4) address associated with the named
+ * Attempt to return an IP address associated with the named
  * network. If a libvirt virtual network, that will be provided in the
  * configuration. For host bridge and direct (macvtap) networks, we
  * must do an ioctl to learn the address.
  *
- * Note: This function returns the 1st IPv4 address it finds. It might
+ * Note: This function returns the first IP address it finds. It might
  * be useful if it was more flexible, but the current use (getting a
  * listen address for qemu's vnc/spice graphics server) can only use a
  * single address anyway.
@@ -4525,11 +4525,10 @@ networkGetNetworkAddress(const char *netname, char **netaddr)
     case VIR_NETWORK_FORWARD_NONE:
     case VIR_NETWORK_FORWARD_NAT:
     case VIR_NETWORK_FORWARD_ROUTE:
-        /* if there's an ipv4def, get it's address */
-        ipdef = virNetworkDefGetIpByIndex(netdef, AF_INET, 0);
+        ipdef = virNetworkDefGetIpByIndex(netdef, AF_UNSPEC, 0);
         if (!ipdef) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("network '%s' doesn't have an IPv4 address"),
+                           _("network '%s' doesn't have an IP address"),
                            netdef->name);
             goto cleanup;
         }