mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 06:25:19 +00:00
qemu: Fix live migration over RDMA with IPv6
Using libvirt to do live migration over RDMA via IPv6 address failed. For example: rhel73_host1_guest1 qemu+ssh://[deba::2222]/system --verbose root@deba::2222's password: error: internal error: unable to execute QEMU command 'migrate': RDMA ERROR: could not rdma_getaddrinfo address deba As we can see, the IPv6 address used by rdma_getaddrinfo() has only "deba" part because we didn't properly enclose the IPv6 address in [] and passed rdma:deba::2222:49152 as the migration URI in qemuMonitorMigrateToHost. Signed-off-by: David Dai <zdai@linux.vnet.ibm.com>
This commit is contained in:
parent
79692c3874
commit
728c0e5df4
@ -2577,8 +2577,12 @@ qemuMonitorMigrateToHost(qemuMonitorPtr mon,
|
||||
|
||||
QEMU_CHECK_MONITOR(mon);
|
||||
|
||||
if (virAsprintf(&uri, "%s:%s:%d", protocol, hostname, port) < 0)
|
||||
if (strchr(hostname, ':')) {
|
||||
if (virAsprintf(&uri, "%s:[%s]:%d", protocol, hostname, port) < 0)
|
||||
return -1;
|
||||
} else if (virAsprintf(&uri, "%s:%s:%d", protocol, hostname, port) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (mon->json)
|
||||
ret = qemuMonitorJSONMigrate(mon, flags, uri);
|
||||
|
Loading…
Reference in New Issue
Block a user