[ros-users] IPv6 Support for ROS Nodes

Top Page
Attachments:
Message as email
+ (text/plain)
+ smime.p7s (application/pkcs7-signature)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: [ros-users] IPv6 Support for ROS Nodes
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 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
IPv6.

You can find the code for the stack at:

https://svn.vmi.ei.tum.de/vmi-ros-pkg/trunk/ros_comm6/

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