<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Duncan,<br><br>thank you very much for your comprehensive answer. Yes, I have already tried to do the <br>address resolution myself, but it didn't help.<br><br>This is the result if I use "corbaloc::10.1.2.31:9901/Analyzer1":<br><br>LocateRequest to remote: key&lt;Analyzer1&gt;'<br>Client attempt to connect to giop:tcp:169.254.95.120:9901'<br>Failed to connect (no peer name): 169.254.95.120'<br>Switch rope to use address giop:tcp:169.254.95.12U:9901'<br>Unable to open new connection: giop:tcp:169.254.95.12U:9901'<br>throw giopStream: :CommFai|ure From giopStream.cc:1153(0,NO,TRANSIENT_ConnectFailed)'<br>throw TRANSIENT From omniObjReF.cc:1135 (NO,TRANSIENT_ConnectFailed)'<br><br>The Orb seems to do a reverse lookup get the wrong (169.254.95.120) from the right (10.1.2.31) IP address.<br><br>Regards,<br>Volker<br><br><div><div id="SkyDrivePlaceholder"></div>&gt; Subject: Re: [omniORB] OmniOrb uses wrong network adapter<br>&gt; From: duncan@grisby.org<br>&gt; To: p_danziger@hotmail.com<br>&gt; CC: omniorb-list@omniorb-support.com<br>&gt; Date: Tue, 30 Apr 2013 18:17:30 +0100<br>&gt; <br>&gt; On Tue, 2013-04-09 at 18:28 +0200, Peter Danziger wrote:<br>&gt; <br>&gt; &gt; I forgot to mention, that we are using corbaloc to access the service,<br>&gt; &gt; e.g. "corbaloc::wgvcxpa1:9942/drsm480". The "wgvcxpa1" is resolved to<br>&gt; &gt; the wrong IP address.<br>&gt; <br>&gt; omniORB gives that name to getaddrinfo() or a similar system call to<br>&gt; resolve the name. If a name resolves to multiple addresses, it's up to<br>&gt; the machine's DNS setup as to what order the results come back. If<br>&gt; connecting to an address fails, omniORB actually tries to connect to<br>&gt; other addresses in turn until one works, except that often the only way<br>&gt; to know that a connection has failed is that it times out, by which time<br>&gt; it's too late to try the other addresses.<br>&gt; <br>&gt; Every time omniORB needs to open a connection, it re-resolves the name,<br>&gt; so if the name resolution changes, different connection attempts to the<br>&gt; same name can lead to different addresses. omniORB will open a new<br>&gt; connection either if it previously closed the connection because it was<br>&gt; idle, or because it wants to make a concurrent call while another call<br>&gt; is already in progress.<br>&gt; <br>&gt; The answer about forcing omniORB to use the address you want ought to be<br>&gt; to use the clientTransportRules configuration, and only allow it to<br>&gt; connect to the correct address. Unfortunately, the transport rules are<br>&gt; evaluated before the name lookup, so they can't save you.<br>&gt; <br>&gt; I'll look into processing the transport rules on the resolved names as a<br>&gt; way to avoid this problem. As an alternative, are you able to resolve<br>&gt; the name yourself, rather than using the name in the corbaloc?  That way<br>&gt; you'll be able to pick the correct address for yourself.<br>&gt; <br>&gt; Cheers,<br>&gt; <br>&gt; Duncan.<br>&gt; <br>&gt; -- <br>&gt;  -- Duncan Grisby         --<br>&gt;   -- duncan@grisby.org     --<br>&gt;    -- http://www.grisby.org --<br>&gt; <br>&gt; <br></div>                                               </div></body>
</html>