On Feb 17, 2011, at 12:37 PM, Barnet Wagman wrote:

>> The short version is that open MPI does not support NAT. There was some 
>> research work a long time ago investigating supporting firewalls and NAT, 
>> but I don't think it was ever completed / published. 
> That makes sense.  Do you know how open MPI gets the ip addresses it
> uses?  And where in the src this is done? Sounds like I won't be able to
> run open mpi from a system without a direct connection to the net, but
> I'd like to look at the relevant code any way.

We just query the local OS for all of its available/up ethernet interfaces.  
The relevant code is in opal/util/if.c, but I warn you -- this is pretty gnarly 
code because the different flavors of OS do these kinds of things just 
*slightly* different from each other.  Ugh!  It's effectively a portable, API 
way of getting the same information that you get from ifconfig(1).

But just to be clear: your OS isn't going to have any idea what the IP address 
is on the other side of NAT -- that's kind of the point of NAT.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to