[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/3] nonblocking connect address handling cle
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/3] nonblocking connect address handling cleanup |
Date: |
Thu, 20 Sep 2012 17:55:14 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0 |
On 09/20/2012 04:19 PM, Markus Armbruster wrote:
> Orit Wasserman <address@hidden> 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.
Orit
- Re: [Qemu-devel] [PATCH v3 3/3] Fix address handling in inet_nonblocking_connect, (continued)
Re: [Qemu-devel] [PATCH v3 3/3] Fix address handling in inet_nonblocking_connect, Markus Armbruster, 2012/09/20
[Qemu-devel] [PATCH v3 2/3] Separate inet_connect into inet_connect (blocking) and inet_nonblocking_connect, Orit Wasserman, 2012/09/13
Re: [Qemu-devel] [PATCH v3 0/3] nonblocking connect address handling cleanup, Markus Armbruster, 2012/09/20