[erlang-patches] [PATCH] epmd: support IPv6 node registration

Fredrik <>
Fri May 3 15:44:22 CEST 2013


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
> 
> 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.

-- 

BR Fredrik Gustafsson
Erlang OTP Team



More information about the erlang-patches mailing list