[haiku-bugs] Re: [Haiku] #8293: BNetworkAddress needs to check if there is an available IPv6 connection.

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Fri, 16 Jan 2015 07:07:00 -0000

#8293: BNetworkAddress needs to check if there is an available IPv6 connection.
----------------------------------------+----------------------------
   Reporter:  kallisti5                 |      Owner:  axeld
       Type:  bug                       |     Status:  new
   Priority:  high                      |  Milestone:  R1
  Component:  Network & Internet/Stack  |    Version:  R1/Development
 Resolution:                            |   Keywords:
 Blocked By:                            |   Blocking:  9269, 10033
Has a Patch:  1                         |   Platform:  All
----------------------------------------+----------------------------

Comment (by pulkomandy):

 I don't think this is how it works. When you ask for AF_UNSPEC, the DNS
 server will reply (no timeout here). It will include every addresses it
 knows, including IPv6 ones.
 The timeout happens when Web+ (or other apps) try to connect to the IPv6
 addresses and there is no IPv6 interface configured. After some time, the
 IPv6 request times out and connection is tried again with the next address
 (usually an IPv4 one). You can clearly see the same when using telnet,
 which prints the addresses it uses ("null" is shown because telnet does
 not expect IPv6 addresses and doesn't know how to print them):

 {{{
 ~> telnet google.fr
 Trying (null)...
 telnet: connect to address (null): Network is unreachable
 Trying 216.58.211.67...
 }}}

 The fix is to implement RFC3484 so in the case when there is no IPv6
 network address configured on the system, the DNS replies are sorted so
 the IPv4 addresses are presented first to applications. So, AF_UNSPEC is
 still honored (you get all addresses) but if you only take the first one,
 it is an address you can connect to.

--
Ticket URL: <https://dev.haiku-os.org/ticket/8293#comment:24>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: