<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Commenting on my own question. According to this documentation:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">
<a href="http://erlang.org/doc/apps/erts/erl_dist_protocol.html">http://erlang.org/doc/apps/erts/erl_dist_protocol.html</a><br></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">the </font><span style="font-family:Verdana,Arial,Helvetica,sans-serif;color:rgb(0,0,0)">PORT_PLEASE2_REQ (122)</span><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"> query doesn't allow the caller to specify the protocol of interest.</font></span></div>
<div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Note that epmd's </font></span><span style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">ALIVE2_REQ (120) </span><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">request does support specification of a protocol for the registered node (though I couldn't find any mapping of a byte to protocol type, except for 0 being TCP), but the </font></span><font color="#000000" face="arial, helvetica, sans-serif">erts/epmd/src/epmd_srv.c:1209 loop only does "uniqueness" check by name and doesn't perform the protocol match.</font></div>
<div class="gmail_default"><font color="#000000" face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">I propose extending the EPMD specification to be able to register more than one protocol per node, and to be able to query EPMD either by name only or by {Name, Protocol}.  When a node is queried by name, the implementation should default to the first registered protocol.</font></span></div>
<div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">If there's a consensus that this functionality is acceptable, I can submit a patch.</font></span></div>
<div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif"><br></font></span></div><div class="gmail_default"><span style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Serge</font></span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 24, 2013 at 9:07 AM, Serge Aleynikov <span dir="ltr"><<a href="mailto:serge@aleynikov.org" target="_blank">serge@aleynikov.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I've been experimenting with starting Erlang distribution with both TLS and TCP distributed transports as the "-proto_dist" option allows to specify multiple modules handling distributed transport setup, but stumbled across the fact that when both inet_tls and inet_tcp is specified, it fails to register the second transport with EPMD.</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I think the answer is no, but is there a way to tell EPMD that the same node can have more than one port registered for a given node per protocol it supports?</div>

<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">If it's not possible, maybe I would need to roll out a custom distributed transport handling module that would conditionally upgrade the incoming connection from TCP to SSL based on some user-logic (e.g. if a node doesn't belong to a local cluster).  Has anyone done anything similar?</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 21, 2013 at 12:39 PM, Motiejus Jakštys <span dir="ltr"><<a href="mailto:desired.mta@gmail.com" target="_blank">desired.mta@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Oct 21, 2013 at 5:56 PM, Serge Aleynikov <<a href="mailto:serge@aleynikov.org" target="_blank">serge@aleynikov.org</a>> wrote:<br>


> seem to be any documentation of if it's possible to give hints to a given<br>
> node to use transport alternative to the one used by current node at startup<br>
> when connecting to given nodes.<br>
><br>
> If this is not supported, I would opt for this feature request as this seems<br>
> to be a very general case when running node configurations spanning multiple<br>
> clusters.<br>
<br>
Hi,<br>
<br>
See Patrick Nyblon's reply to a similar question:<br>
<a href="http://erlang.org/pipermail/erlang-questions/2012-October/069876.html" target="_blank">http://erlang.org/pipermail/erlang-questions/2012-October/069876.html</a><br>
<br>
>From the last paragraph I infer that what you are trying to do is<br>
supported or easily supportable (lacks details though).<span class="HOEnZb"><font color="#888888"><br>
<span><font color="#888888"><br>
--<br>
Motiejus Jakštys<br>
</font></span></font></span></blockquote></div><br></div>
</blockquote></div><br></div>