[omniORB] Multiple Addresses and NAT problem

Hunt, Dave Dave.Hunt at uk.thalesgroup.com
Thu Nov 23 11:01:51 GMT 2006


Thanks for replies.

>From our PC we make calls to another machine, linked by two routers. The
corba calls are made both ways.
My PC hosts the Name service.
To clarify, my PC had one NIC card, two ip addresses, 172.16.155.94 and
172.16.155.98 ( the one for the corba link).
The order that omniOrb picks up these addresses seems to affect which IOR it
reports, but I don't have any control over this!
I got around this by using the env var OMNIORB_USEHOSTNAME=172.16.155.98 and
it worked ok.

Since then, I added NAT to both routers on the corba link, and changing this
variable failed to work.
I've tried using the endPoint and endPointNoListen variables; I've added my
new external address to the network configuration of my XP machine,
172.16.156.122. I've tried starting the omniNames service thus :-
omniNames -ignoreport -ORBendPoint giop:tcp:192.16.156.122:2809.

Thus far, the omniNames service fails to start up.
A typical error trace is show below :-

C:\Program Files\Thales\Common>omninames -start
omniORB: Distribution date: Fri Jan 13 13:47:35 GMT 2006 dgrisby
omniORB: My addresses are:
omniORB: 172.16.155.94
omniORB: 172.16.156.122
omniORB: 172.16.155.98
omniORB: 127.0.0.1
omniORB: Maximum supported GIOP version is 1.2
omniORB: Native char code sets: UTF-8 ISO-8859-1.
omniORB: Transmission char code sets: UTF-8(1.2) UTF-8(1.1) ISO-8859-1(1.2)
ISO-8859-1(1.1) ISO-8859-1(1.0).
omniORB: Native wide char code sets: UTF-16.
omniORB: Transmission wide char code sets: UTF-16(1.2).
omniORB: Information: the omniDynamic library is not linked.
omniORB: Current configuration is as follows:
omniORB:   DefaultInitRef (file) =
omniORB:   DefaultInitRef (args) =
omniORB:   InitRef = NameService=corbaname::172.16.155.98
omniORB:   abortOnInternalError = 0
omniORB:   abortOnNativeException = 0
omniORB:   acceptBiDirectionalGIOP = 0
omniORB:   acceptMisalignedTcIndirections = 0
omniORB:   bootstrapAgentHostname =
omniORB:   bootstrapAgentPort = 900
omniORB:   clientCallTimeOutPeriod = 0
omniORB:   clientTransportRule = * unix,ssl,tcp
omniORB:   configFile = [none]
omniORB:   connectionWatchImmediate = 0
omniORB:   connectionWatchPeriod = 50000
omniORB:   diiThrowsSysExceptions = 0
omniORB:   dumpConfiguration = 0
omniORB:   endPoint = giop:tcp:172.16.156.122
omniORB:   endPoint = giop:tcp::2809
omniORB:   endPointPublishAllIFs = 0
omniORB:   giopMaxMsgSize = 2097152
omniORB:   giopTargetAddressMode = KeyAddr
omniORB:   id = omniORB4
omniORB:   inConScanPeriod = 180
omniORB:   lcdMode = 0
omniORB:   maxGIOPConnectionPerServer = 5
omniORB:   maxGIOPVersion = 1.2
omniORB:   maxInterleavedCallsPerConnection = 5
omniORB:   maxServerThreadPerConnection = 100
omniORB:   maxServerThreadPoolSize = 100
omniORB:   maxSocketRecv = 131072
omniORB:   maxSocketSend = 131072
omniORB:   nativeCharCodeSet = ISO-8859-1
omniORB:   nativeWCharCodeSet = UTF-16
omniORB:   objectTableSize = 0
omniORB:   offerBiDirectionalGIOP = 0
omniORB:   omniORB_27_CompatibleAnyExtraction = 0
omniORB:   oneCallPerConnection = 1
omniORB:   outConScanPeriod = 120
omniORB:   poaHoldRequestTimeout = 0
omniORB:   poaUniquePersistentSystemIds = 1
omniORB:   principal = [Null]
omniORB:   scanGranularity = 5
omniORB:   serverCallTimeOutPeriod = 0
omniORB:   serverTransportRule = * unix,ssl,tcp
omniORB:   strictIIOP = 1
omniORB:   supportBootstrapAgent = 0
omniORB:   supportCurrent = 1
omniORB:   supportPerThreadTimeOut = 0
omniORB:   tcAliasExpand = 0
omniORB:   threadPerConnectionLowerLimit = 9000
omniORB:   threadPerConnectionPolicy = 1
omniORB:   threadPerConnectionUpperLimit = 10000
omniORB:   threadPoolWatchConnection = 1
omniORB:   traceExceptions = 1
omniORB:   traceFile = [stderr]
omniORB:   traceInvocations = 0
omniORB:   traceLevel = 40
omniORB:   traceThreadId = 0
omniORB:   unixTransportDirectory = /tmp/omni-%u
omniORB:   unixTransportPermission =  777
omniORB:   useTypeCodeIndirections = 1
omniORB:   verifyObjectExistsAndType = 1
omniORB: Initialising incoming endpoints.
omniORB: Error: Unable to create an endpoint of this description:
giop:tcp:172.16.156.122
omniORB: throw INITIALIZE from objectAdapter.cc:262
(NO,INITIALIZE_TransportError)
Failed to initialise the POAs. Is omniNames already running?
omniORB: ORB not destroyed; no final clean-up.

Tweaking things as mentioned above results in the same failure to create an
endpoint.
Any ideas ?
Thanks,

Dave Hunt




More information about the omniORB-list mailing list