Re: [PATCH] epmd: support IPv6 node registration

Patrik Nyblom <[email protected]>
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <[email protected]>
Hi Fredrik and Michael!
On 05/03/2013 03:44 PM, Fredrik wrote:
> On 05/03/2013 03:27 PM, Michael Santos wrote:
>> On Wed, Feb 20, 2013 at 07:55:17AM -0500, Michael Santos wrote:
>>> Allow IPv6 nodes to register with and query epmd. On systems with
>>> IPv6 support:
>>>
>>> * epmd listens on both the IPv4 and IPv6 ANY or loopback sockets
>>>
>>> * the epmd cli client connects to epmd over the IPv6 loopback
>>>
>>> * distributed nodes started with "-proto_dist inet6_tcp" will register
>>>    with epmd over IPv6
>>>
>>> The interaction between IPv4 and IPv6 sockets depends on the platform:
>>>
>>> * FreeBSD allows multiple "specific" sockets to bind the same port 
>>> (such
>>>    as 2 sockets listening to the same port on ANY and the loopback).
>>>    Binding port 4369 to IPv4 and IPv6 sockets simulataneously is 
>>> allowed.
>>>
>>> * Linux does not allow the same port to be bound by different sockets.
>>>    Setting the IPV6_V6ONLY socket option is required.
>>>
>>> * Windows
>>>
>>>    The behaviour differs depending on the version of Windows:
>>>
>>> http://msdn.microsoft.com/en-us/library/windows/desktop/bb513665(v=vs.85).aspx
>>>
>>>    According to the site, sockets on Windows XP with Service Pack 1 
>>> (SP1)
>>>    and Windows Server 2003 will only listen on either IPv4 or IPv6, so
>>>    creating two sockets is required to service IPv4 and IPv6 traffic on
>>>    the same port. The IPV6_V6ONLY socket option is not supported.
>>>
>>>    For Windows Vista and later, a single socket can handle IPv4 and 
>>> IPv6
>>>    traffic for the same port. The IPV6_V6ONLY socket option is 
>>> supported
>>>    and is enabled for IPv6 sockets by default.
>>> ---
>>>   erts/doc/src/epmd.xml             |    2 +-
>>>   erts/doc/src/erl.xml              |   22 +++++
>>>   erts/epmd/src/epmd.c              |    6 +-
>>>   erts/epmd/src/epmd_cli.c          |   11 ++-
>>>   erts/epmd/src/epmd_int.h          |   63 +++++++++----
>>>   erts/epmd/src/epmd_srv.c          |  184 
>>> +++++++++++++++++++++++++------------
>>>   erts/epmd/test/epmd_SUITE.erl     |   33 ++++++-
>>>   lib/kernel/src/erl_epmd.erl       |   18 ++--
>>>   lib/kernel/src/inet6_tcp_dist.erl |    2 +-
>>>   9 files changed, 248 insertions(+), 93 deletions(-)
>> ping!
>> _______________________________________________
>> erlang-patches mailing list
>> [email protected]
>> http://erlang.org/mailman/listinfo/erlang-patches
> I thought that I've already mailed you back regarding this patch. But 
> now I don't seem to remember what I wanted you to do about it.
> I will run it in 'pu' builds over the weekend. If it turns out OK it 
> will be reviewed.
>
Michael wasn't supposed to do anything, we were supposed to raise the 
Windows version when compiling, so that his Windows code worked - at 
least that's what I remember. So I'll prepare a change that will go into 
maint, then you can add the fix to pu. Just give me a day or two for the 
change to reach maint :)

Cheers,
Patrik
_______________________________________________
erlang-patches mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.