On 05/11/2012 02:12 AM, Michael Roth wrote: > On Thu, May 10, 2012 at 11:29:48AM -0600, Eric Blake wrote: >> On 05/10/2012 10:27 AM, Amos Kong wrote: >>> Those patches updated help functions in qemu-socket.c, >>> and used them in migrate-tcp.c to supporting IPv6 migration. >>> >> >>> --- >>> >>> Amos Kong (4): >>> qerror: add five qerror strings >>> sockets: change inet_connect() to support nonblock socket >>> sockets: use error class to pass listen error >>> use inet_listen()/inet_connect() to support ipv6 migration >> >> I'm trying to understand the scope of this series, and how it might >> impact what libvirt needs to support for migration in an IPv6 >> environment. Is the point of this patch that IPv6 migration was >> previously not possible, and is now possible using [IP6addr]:port notation? > > Looks like Amos went offline: but yes, in a nutshell. > > addr parsing now relies on qemu-sockets.c:inet_parse(), which has supported > [ip6addr]:port for a while, as opposed to net.c:parse_host_port(), which > didn't.
yeah. I didn't change qemu monitor cmd interface in this patchset, and the transport of data is done by qemu, not libvirt. I guess libvirt only needs to update addr string parse, for example: ---- GOOD start a VM: # qemu-kvm --enable-kvm -boot n -incoming tcp:ipv6alias:16514 -vnc :1 -monitor stdio -name qemu-vm1 try to migrate vm by virsh with addr alias # virsh migrate libivrt-vm2 tcp:ipv6alias (connection can establish) --- FAIL start a VM: # qemu-kvm-apply-my-patches --enable-kvm -boot n -incoming tcp:[2002::3:4]:16514 -vnc :1 -monitor stdio -name qemu-vm1 try to migrate vm by virsh with ipv6 addr: # virsh migrate libvirt-vm2 tcp:[2002::3:4] error: invalid argument: could not parse connection URI tcp:[2002::3:4] Thanks, Amos. > Additional Error-handling was added to > qemu-sockets.c:inet_connect()/inet_listen(), along with non-blocking support > for inet_connect(), to subsume the ad-hoc client/server setup in > migration-tcp.c -- Amos.