Re: [PATCH] epmd: support IPv6 node registration

Michael Santos <[email protected]>
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <20130503132750.GK5510@ioctl>
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
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.