Going dual-stack, how do apps behave and what to do as an operator (Was: Apple Airport Extreme IPv6 problems?)

Iljitsch van Beijnum iljitsch at muada.com
Fri Sep 21 18:34:05 UTC 2007

On 21-sep-2007, at 7:54, Martin Hannigan wrote:

>> All applications are supposed to use getaddrinfo() which sorts
>> these addresses per the above specification, the app should then
>> connect() to them in order, fail/timeout and try the next one

> Since when is a timeout on the Internet ok? Haven't we moved beyond
> that? This is a controllable timeout. We don't have to do it, which is
> the point. What's the right way to do this?

I agree that it's not acceptable to engineer things such that  
timeouts occur by design. However, things tend to break, and in those  
situations it's important to recover as well as can be expected. So  
the correct way to operate here is for the network designer to make  
reasonably sure ("unreliable datagram" etc) that everything works,  
for the stack designer to make sure that there is a good algorithm  
for selecting the "best" combination of destination and source  
addresses and for the application to cycle through all addresses if  
the two former efforts weren't completely successful.

More information about the NANOG mailing list