I am learning the SCADA system TANGO-Controls. The basic components, called DeviceServers request their configuration from a database server via CORBA at startup.
My TestDeviceServer runs on Windows 10 with two NICs, one card for the university network with automatic DHCP configuration, and one for test network with several static IP addresses. The DB server runs in a VirtualBox 6.1 Ubuntu 20.04 VM. The VM is connected to both networks via network bridges. The DevServer should access DB Server via test NIC. There is a special environment variable for this, in my case: TANGO_HOST=192.168.50.13:10000 with the local IP of VM.
My problem is that the establishment of the connection to the DB Server slows down considerably the more IP addresses are used, i.e. approx. 6 sec per IP address. If I disconnect NIC1 and leave only one IP address for connection to VM, the connection is established immediately.
I wonder if the behavior occurs due to a CORBA peculiarity or due to network configuration. I have prioritized the static test NIC higher by IP4 metric, but without success. The deactivation of Windows firewall did not help also.
The same behavior occurs when DB Server is running on a real Ubuntu 22.04 PC.
The problem is independent of CORBA. We found out that the problem lies in the way TANGO resolves hostnames, see here. The delays come from Windows API
INT WSAAPI getnameinfo().We were able to find a simple solution: enable LMHOST lookup in NIC IP4 settings, and add a entry for each IP in the hosts file (
…\windows\system32\drivers\etc\hosts\):e.g.
Restart NIC.