From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSjcE-0000Wb-AT for qemu-devel@nongnu.org; Fri, 11 May 2012 02:46:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SSjcC-0003Ju-EY for qemu-devel@nongnu.org; Fri, 11 May 2012 02:46:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:30212) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSjcC-0003Jj-73 for qemu-devel@nongnu.org; Fri, 11 May 2012 02:46:12 -0400 Message-ID: <4FACB5AB.5030205@redhat.com> Date: Fri, 11 May 2012 14:46:03 +0800 From: Amos Kong MIME-Version: 1.0 References: <20120510162606.15504.39510.stgit@t> <4FABFB0C.7010801@redhat.com> <20120510181251.GE17353@illuin> In-Reply-To: <20120510181251.GE17353@illuin> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v12 0/4] support to migrate with IPv6 address List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: aliguori@us.ibm.com, quintela@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org, owasserm@redhat.com, Eric Blake 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.