Date: Fri, 13 Dec 2002 11:27:25 -0700 From: "Jeff W. Boote" <boote@internet2.edu> To: freebsd-net@freebsd.org Subject: IPv6 udp socket bind: EADDRNOTAVAIL? Message-ID: <3DFA268D.A073F0F3@internet2.edu>
next in thread | raw e-mail | index | archive | help
I have a long running IPv6 daemon that uses both tcp and udp. It accepts requests on a tcp socket, and then performs an action on a udp socket using the same local address that the tcp request came in on. (I am calling bind on the udp socket to allocate a port number to return to the client over the tcp connection.) My problem is that I get intermittent bind failures for the udp socket. I'm trying to understand what is going on here. The udp bind is for the same address as the local address of the tcp socket. (Although the tcp socket was originally bound using the wildcard.) I have tracked this down to the following lines in the kernel code: in6_pcb.c:129 if (!in6_ifaddr) /* XXX broken! */ return (EADDRNOTAVAIL); It looks like the kernel's list of v6 interfaces is empty for some reason. Is that correct, or is there some other reason this list would be empty? Questions: 1. The comment says broken. Anyone know why the comment says that? (The IPv4 version of bind says the same thing...) 2. This system is auto configuring this address... Is it possible that I'm just having this problem because the system is reconfiguring the address at this time? (I must admit that I have not looked at the auto configuration stuff.) Thanks, jeff To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DFA268D.A073F0F3>