File ipv6.patch of Package terraform-provider-libvirt

diff --git a/libvirt/domain.go b/libvirt/domain.go
index f646f3cc..e9eaad93 100644
--- a/libvirt/domain.go
+++ b/libvirt/domain.go
@@ -118,8 +118,14 @@ func domainIfaceHasAddress(virConn *libvirt.Libvirt, domain libvirt.Domain,
 
 	for _, ifaceWithAddr := range ifacesWithAddr {
 		if len(ifaceWithAddr.Hwaddr) > 0 && (mac == strings.ToUpper(ifaceWithAddr.Hwaddr[0])) && len(ifaceWithAddr.Addrs) > 0 {
-			log.Printf("[DEBUG] found IPs for MAC=%+v: %+v\n", mac, ifaceWithAddr.Addrs)
-			return true, false, nil
+			for _, addr := range ifaceWithAddr.Addrs {
+				// IPv6 local-link addresses are always present when IPv6 is enabled on an interface
+				if !strings.HasPrefix(addr.Addr, "fe80::") {
+					log.Printf("[DEBUG] found IPs for MAC=%+v: %+v\n", mac, ifaceWithAddr.Addrs)
+					return true, false, nil
+				}
+				log.Printf("[DEBUG] found local link address %s for MAC %s - skipping\n", addr.Addr, mac)
+			}
 		}
 	}
 
openSUSE Build Service is sponsored by