On Sat, Apr  5, 2008 at 12:27:59 -0400, Eric Cooper wrote:

> On Sat, Apr 05, 2008 at 10:26:27AM -0400, Adam Spragg wrote:
> > The reason is due to the nature of the IPv6 support that has been added.  
> > This seems to stop IPv4 being used if an IPv6 address is found. While  
> > the server I run approx on has an IPv6 address, my network is not  
> > properly configured for IPv6 yet, due to issues(tm). Which means that  
> > some of my other computers are unable to connect to the approx server,  
> > despite a perfectly good IPv4 network existing between them.
> 
> I've added code that attempts to listen on both an IPv6 and IPv4
> socket, but once it creates the IPv6 socket and binds it to port 9999,
> the subsequent attempt to bind an IPv4 socket to 9999 fails with
> "address already in use".  (I don't know IPv6 well enough to
> understand this.  Do you?)

An AF_INET6 socket, by default, can receive both ipv4 and ipv6
connections (unless configured otherwise with the net/ipv6/bindv6only
sysctl, or the IPV6_V6ONLY setsockopt).

Adam, what does /proc/sys/net/ipv6/bindv6only contain on your system?
approx calls bind() to in6addr_any, so I don't see why it would refuse
ipv4 connections if that sysctl is unset.  It might be a good idea for
approx to explicitly set IPV6_V6ONLY to 0, though.

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to