[ros-users] IPv6 Support for ROS Nodes

Luis Roalter roalter at tum.de
Fri Jun 15 07:03:33 UTC 2012

Hi all,

We are happy to announce our current status on enabling IPv6 on ROS 
Nodes. It is still beta and in progress as part of a Diploma Thesis in 
our research group.

For questions please use ros-network at lists.vmi.ei.tum.de to directly 
contact us; or just use this mailing list.

See also http://ros.org/wiki/ros_comm6


With ros_comm6 we are introducing an IPv6 enabled variant of the 
ros_comm stack.

It features an IPv6 enabled master as well as IPv6 enabled client libraries
for C++ and Python. The roswtf utility has also been modified to support 

You can find the code for the stack at:


The IPv6 features of the stack are enabled by setting the environment 
variable ROS_IPv6 to 'on'. The master then starts to listen on IPv4 and 
IPv6 addresses and nodes try to connect using IPv6. Nodes using IPv4 
will still be able to connect to servers and publishers using IPv6.

IPv6 capable subscribers are currently not able to connect to publishers 
using IPv4, but is on our TODO list. (Trying to connect to all available 
addresses, until a successful connection can be made)

To use the stack a few steps have to be performed (it is assumed that 
you build ROS from source):

1) Replace your 'ros_comm/' directory in 'ros-underlay/' with
     the 'ros_comm6/' directory from the repository.

2) Remove your ROS installation from '/opt/ros/fuerte'. The reason for
     this  is that the includes from the original ros_comm stack
     confuse the build system.
3) Build and install ROS again.
4) Check '/etc/hosts'. Make sure that 'localhost' and your hostname also
     point to '::1'.
5) Add 'export ROS_IPv6=on' to your .bashrc or other startup scripts.

The code is currently tested using Linux. Your millage on Windows or 
other Unix distributions might vary. This especially affects the dual 
stack behavior. (The IPV6_V6ONLY socket option is currently not modified)

We have tested the stack in a small test environment at our lab. Yet 
most of the code is probably untested, as it handles a lot of corner 
cases and configuration parameters. If you run into any problems using 
the stack please contact us or send us a patch.

Dipl.-Ing. Luis Roalter
Technische Universität München
Distributed Multimodal Information Processing Group

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5087 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20120615/23c316a9/attachment-0001.p7s>

More information about the ros-users mailing list