From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37018) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEyET-0000Mm-0h for qemu-devel@nongnu.org; Fri, 21 Sep 2012 04:05:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TEyEN-0005ss-1z for qemu-devel@nongnu.org; Fri, 21 Sep 2012 04:05:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:30885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEyEM-0005sk-Oy for qemu-devel@nongnu.org; Fri, 21 Sep 2012 04:04:58 -0400 From: Markus Armbruster References: <1347562697-15411-1-git-send-email-owasserm@redhat.com> <87r4pwzv9f.fsf@blackfin.pond.sub.org> <505B2E52.8010702@redhat.com> Date: Fri, 21 Sep 2012 10:03:46 +0200 In-Reply-To: <505B2E52.8010702@redhat.com> (Orit Wasserman's message of "Thu, 20 Sep 2012 17:55:14 +0300") Message-ID: <876277vm3h.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v3 0/3] nonblocking connect address handling cleanup List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Orit Wasserman Cc: kwolf@redhat.com, aliguori@us.ibm.com, quintela@redhat.com, mst@redhat.com, mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, pbonzini@redhat.com, akong@redhat.com Orit Wasserman writes: > On 09/20/2012 04:19 PM, Markus Armbruster wrote: >> Orit Wasserman writes: >> >>> Changes from v2: >>> - remove the use of getnameinfo >>> - remove errp for inet_connect_addr >>> - remove QemuOpt "block" >>> - fix errors in wait_for_connect >>> - pass ConnectState as a parameter to allow concurrent connect ops >>> >>> getaddrinfo can give us a list of addresses, but we only try to >>> connect to the first one. If that fails we never proceed to >>> the next one. This is common on desktop setups that often have ipv6 >>> configured but not actually working. >>> A simple way to reproduce the problem is migration: >>> for the destination use -incoming tcp:0:4444, run migrate -d >>> tcp:localhost:4444 >>> migration will fail on hosts that have both IPv4 and IPV6 address >>> for localhost. >>> >>> To fix this, refactor address resolution code and make >>> inet_nonblocking_connect >>> retry connection with a different address. >> >> Almost there for connect. >> >> I'm afraid we have a similar problem with listen: we bind only on the >> first address that works. Shouldn't we bind all of them? >> >> http://www.akkadia.org/drepper/userapi-ipv6.html >> > yes listen should be fixed but lets do it in a separate patch set. Absolutely.