qemu-devel
[Top][All Lists]
Advanced

[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: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v3 0/3] nonblocking connect address handling cleanup
Date: Thu, 20 Sep 2012 15:19:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]