Menu

#1533 When sending a command using the hostname STAF does not fallback to IPv4 if IPv6 communication fails

Unix::Linux
open
nobody
None
4
2014-10-25
2014-10-25
Titus
No

Current behavior:

For the purpose of these tests, I have installed the latest version of STAF 3.4.19. The majority of the servers used are 3.4.15.

Two servers, one running STAF with IPv4_IPv6 tcp interface, the second configured only with IPv4 interface.

Commands executed from IPv4_IPv6 to IPv4 using a hostname fail with this error:

[root@tv-356 ~]# staf tv-183.ta.opsware.com ping ping
Error submitting request, RC: 16
Additional info
---------------
STAFConnectionProviderConnect: Error performing test read on connected endpoint: recv() RC=113: 22, Endpoint: tcp://tv-183.ta.opsware.com

The log reported by the trace on the server where the command is started from:

20141024-10:05:31;139998813980416;00000001;Remote ping Service     Request - To: tv-183.ta.opsware.com, from Handle: 6, Process: STAF/Client, Request: ping
20141024-10:05:35;139998813980416;00000400;STAFConnectionManager::makeConnection - Attempt #1 of 2 (Delay 383 milliseconds), RC: 16, Result: STAFConnectionProviderConnect: Error performing test read on connected endpoint: recv() RC=113: 22, Endpoint: tcp://tv-183.ta.opsware.com
20141024-10:05:38;139998813980416;00000400;STAFConnectionManager::makeConnection - Attempt #2 of 2 (Delay 0 milliseconds), RC: 16, Result: STAFConnectionProviderConnect: Error performing test read on connected endpoint: recv() RC=113: 22, Endpoint: tcp://tv-183.ta.opsware.com
20141024-10:05:38;139998813980416;00000002;Remote ping Service Result (16) - To: tv-183.ta.opsware.com, from Handle: 6, Process: STAF/Client, Request: ping, Result: STAFConnectionProviderConnect: Error performing test read on connected endpoint: recv() RC=113: 22, Endpoint: tcp://tv-183.ta.opsware.com
20141024-10:05:38;139998813980416;00000200;Unregistered Handle: 6, PID: 4402

From ipv4 to ipv4_ipv6 all works well.
If the ip (v4) is used instead of the hostname it works.
Both servers have ipv4 and ipv6 entries in DNS.

Expected behavior:

If IPv6 is the first IP retrieved from DNS, STAF should fallback to the ipv4 address.

How to reproduce:

Install STAF on one server with IPv6 support and configure interfaces to IPv4_IPv6
Install STAF on another server w or w/o IPv6 support but interfaces configured on IPv4 only.
Both servers need to have IPv4/IPv6 equivalents in the DNS.
Send a ping ping command using the hostname from IPv4_IPv6 to IPv4 server.

Environment:

This behavior is consistent on all unix/linux. Found it on all architectures used (x86, x86_64, sparc)
Need to verify on windows.

Discussion


Log in to post a comment.