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)
+ }
}
}