RP/TUX 6.4, 6.5, 6.51 - Solaris 2.6/2.7 TLI over TCP : t_bind problem with multiple IP address/same port
Last updated on NOVEMBER 04, 2016
Applies to:Oracle Tuxedo / Tuxedo / 6.4, 6.5, 6.51
Information in this document applies to any platform
On Solaris 2.6/2.7 (but not on Sol 2.5.1), two servers on the same machine that use TLI over TCP, and that use two different IP addresses but the same portnumber to listen for requests, seem to conflict as follows: If the first server is in a LISTEN state and no client has connected to it, then the second server can be brought up (on the same portnum but with different IP address). There is no conflict in this scenario. But if the first server has connected to some client and has an ESTABLISHED state (as shown by netstat), then the second server's t_bind returns a different port number even though it asked for the common port number. (This implies that the second server's portnumber is no longer known apriori by clients). The files in test case directory are BEA/Tuxedo-independent and reproduce the problem as described. This seems to indicate that the cause of the problem is related to TLI/Solaris. In particular, the t_bind behavior fits that described in the man pages for t_bind but for the case when t_bind is used to bind to the same protocol address more than once. Somehow, t_bind seems to see ipaddr1:portnum and ipaddr2:portnum as the same protocol address. Note 1: The problem occurs irrespective of whether the two IP addresses correspond to a. two different logical network interfaces on the same physical interface, or b. two different logical network interfaces on different physical interfaces. Note 2: Solaris 2.5.1 behaves fine & there are no such conflicts. The same binaries have the problem in Solaris 2.6 and 2.7. This is true irrespective of whether the binaries were compiled in Sol 2.5.1 or Sol 2.6 or Sol 2.7.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms