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

Michael Santos <>
Tue Nov 6 15:41:00 CET 2012


On Tue, Nov 06, 2012 at 03:18:42PM +0100, Henrik Nord wrote:
> Does not compile under windows,
> 
> 
> epmd_cli.c(145) : error C2037: left of 'sin6_family' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(145) : error C2037: left of 'sin6_addr' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(145) : error C2065: 'in6addr_loopback' : undeclared identifier
> epmd_cli.c(145) : error C2037: left of 'sin6_port' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(146) : error C2027: use of undefined type 'sockaddr_in6'
>         epmd_cli.c(146) : see declaration of 'sockaddr_in6'

Seems Windows defines sockaddr_in6 in ws2tcpip.h. Something like this
should get the compile working a bit further:

diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
index 14d05c3..ae7cbcb 100644
--- a/erts/epmd/src/epmd_int.h
+++ b/erts/epmd/src/epmd_int.h
@@ -49,6 +49,7 @@
 #  ifndef WINDOWS_H_INCLUDES_WINSOCK2_H
 #    include <winsock2.h>
 #  endif
+#  include <ws2tcpip.h>
 #  include <windows.h>
 #  include <process.h>
 #endif

I'll regenerate the patch. Sorry for the problem! No windows systems to
test with here.

> On 11/03/2012 03:49 PM, Michael Santos wrote:
> >On Tue, Aug 07, 2012 at 07:13:58PM -0400, Michael Santos wrote:
> >>Allow IPv6 nodes to register with and query epmd. On systems with
> >>IPv6 support:
> >>
> >>* epmd listens on the IPv4 and IPv6 ANY or loopback sockets
> >>
> >>* the epmd cli client connects to epmd using the IPv6 loopback
> >>
> >>* distributed nodes started with "-proto_dist inet6_tcp" will register
> >>   with epmd over IPv6
> >ping! (or should that be ICMP6_ECHO_REQUEST ...)
> >
> >>---
> >>  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          |   37 ++++----
> >>  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, 222 insertions(+), 93 deletions(-)
> >_______________________________________________
> >erlang-patches mailing list
> >
> >http://erlang.org/mailman/listinfo/erlang-patches
> 
> -- 
> /Henrik Nord Erlang/OTP
> 


More information about the erlang-patches mailing list