where to modify sockets code

Asit Mishra <>
Tue Aug 10 03:21:45 CEST 2010

Hi all
When communicating between two erlang nodes using the ! construct, the
underlying system takes care of where to send the message i.e. if two nodes
are on the same physical machine (say  and ), the system does
the address translation and sends message to the appropriate destination.
Similarly, when the nodes are on physically different machines (say 
), the system again identifies the proper destination and sends it a
message. I am interested in figuring out where this code is and how it is
implemented. Is this implementation in C or Erlang?

I am interested in hacking this piece of code and re-route packets i.e. even
if the user specifies a remote destination (to nodeB) I want to route the
message packet to a local erlang node (to nodeA) on the same machines --
just a research project of mine at Intel here to leverage multicores. The
reason I dont want to do this in erlang is that I want the same piece of
code to run transparently on both the unmodified and modified Erlang VM. I
know there is a load-balancer in Erlang library but I dont want to use it as

Any other suggestions on how I should proceed is appreciated? Can someone
tell me where to hack the address translation code? How is message passing
actually implemented in a shared memory system?

Thanks a bunch


More information about the erlang-questions mailing list