This HowTo gives some advices about running Tango device server on Windows XP when IPv6 protocol stack is installed

The ORB (CORBA Object Request Broker) used by Tango is omniORB. On platforms where it is available, omniORB supports IPv6. On most Unix platform, Ipv6 sockets accept both IPv6 and IPv4 connections. On Windows, each socket type only accepts incoming connections of the same type, so an IPv6 socket cannot be used with IPv4 clients and vice-versa. Since Windows XP SP2, it is easily possible to install the IPv6 stack. Running the ipconfig command in a cmd window will rapidly show you if IPv6 is installed.

The TANGO_HOST environment variable

Classically, the TANGO_HOST environment variable is set to the name of the computer  where the database is running followed by a semi-colon and the database server port number (MyWindowsXp:20000). If the host where the database server is running is a Windows XP with IPv6 installed, the host name part in the environment variable has to be replaced by the host IPv4 address. If the host where is running the database server has a name "MyWindowsXp" and a IPv4 address set to 160.103.81.168, set the TANGO_HOST to:
 
TANGO_HOST=160.103.81.168:20000
 

Running a device server


To run a device server on this Windows host with IPv6 installed, we have to explicitly ask the underlying ORB to create an IPv4 address and to publish in the IOR only the IPv4 address. Two omniORB command line options allow us to do this:
 
MyDeviceServer inst_name -ORBendPoint giop:tcp:0.0.0.0: -ORBendPointPublish ipv4
 

Running the database server


The database server creates one device which is the anchor of a Tango control system. To achieve this, this device is registered in the ORB in a specific manner. To start the database server on a Windows host with IPv6 installed,  it is neceesary to change its command line and to use the following command line arguments (Server listenning only on IPv4 port 20000)
 
database dbds -ORBendPoint giop:tcp:0.0.0.0:20000

Conclusion

If not absolutely needed, it is also possible to uninstall IPv6. This FAQ gives all details about installing/un-installing IPv6 on Windows XP.
We hope that with Vista, we will not have this kind of problems. To be tested.

Links

 

 

.