Hello.
We can only tell QEMU on the destination to listen either on IPv6 or on
IPv4.
If we're supplied with a numeric v6 address, that's the only thing we
need to know to set the listen address to [::].
For hostnames, we can either assume this based on how it resolves by
default on the destination (we keep trying all the resolved addresses on
the source, but this might break a few cases), which John found
disgusting, so that leaves user input:
How about a VIR_DOMAIN_MIGRATE_IPV6 flag, depending on which we set the
listen address on the destination and creating a new function
virNetSocketNewConnectTCPHints, where we would add IPv4/IPv6 hint
based on the presence/absence of this flag?
Would it be better to auto-add this flag for numeric addresses, or just
check for them both in the Prepare phase on the dest (and set
listen_addr accordingly) and before connecting from the source, so we
don't use the IPv4 hint (in case we wanted to use the partial fix for
just numeric addresses for older libvirt).
Jan
Bug:
https://bugzilla.redhat.com/show_bug.cgi?id=846013
v3:
https://www.redhat.com/archives/libvir-list/2013-February/msg01379.html
unfortunately I posted v3 before reading John's feedback to v1:
https://www.redhat.com/archives/libvir-list/2013-February/msg01059.html