Re: [PATCH] epmd: support IPv6 node registration

Fredrik <[email protected]>
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <[email protected]>
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.
>
Ok,
Found out what I was suppose to mail you about:
It does not build on windows;

epmd_srv.o : error LNK2019: unresolved external symbol IN6_ARE_ADDR_EQUAL referenced in function conn_local_peer_check
epmd_srv.o : error LNK2019: unresolved external symbol IN6_IS_ADDR_LOOPBACK referenced in function conn_local_peer_check
****/bin/win32/epmd.exe : fatal error LNK1120: 2 unresolved externals



-- 

BR Fredrik Gustafsson
Erlang OTP Team

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