Finding all IPv4 addresses associated with INADDR_ANY (?)

Ronald F. Guilmette rfg at monkeys.com
Tue Feb 24 12:35:02 PST 2004


In message <Pine.NEB.3.96L.1040223233358.13645K-100000 at fledge.watson.org>, you wrote:

>
>On Mon, 23 Feb 2004, Ronald F. Guilmette wrote:
>
>> Given a socket which has been properly created, opened, and then bound
>> to some port and the special INADDR_ANY ``wildcard'' address, I need to
>> be able to them programatically find all of the IPv4 addresses that the
>> socket was just bound to. 
>> 
>> Can anyone suggest a way to do this? 
>> 
>> Can anyone suggest a way to do this easily? 
>> 
>> Can anyone suggest a way to do this portably? 
>
>In another e-mail, it's recommended that you try out getifaddrs().  This
>is almost certainly the best thing to do, but I wanted to point out one
>thing about the question you asked: when you bind a socket to INADDR_ANY,
>you're actually not saying "bind to all addresses available at the moment
>of binding", you're saying "bind to all addresses available at the moment
>of comparison".  I.e., the PCB in kernel retains the value INADDR_ANY, and
>will match new IP addresses added to interfaces at some later time also. 

Thank you for pointing that out.  I certainly did not know that interesting
fact.

For me at least, this distinction is rarely important in practice, because
I personally don't tend to ifconfig new interfaces all that often... like
hardly ever... but it is Good for me to know the implications of what you
just said.


More information about the freebsd-net mailing list