-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ros_visualizer example throws errors when using IPv6 and OS dependent behavior #205
Comments
IPv6 support has not been in the scope of RustDDS. If it works at all, it is only by accident. We have no immediate plans to add IPv6 support, but are willing to merge code if anyone submits a PR. I have no idea why nothing works on Debian. We do most of our testing on Ubuntu. Does multicast work on your Debian box? You can try to find out what the problem is by configuring the root logging level to "info" (or greater) and then running the shapes demo. You should be able to compare the log outputs to the logging calls in the source code. There is no shared memory support. RustDDS (as it is now) communicates always over UDP. AFAIK the shared memory protocols that some DDS libraries implement are not standardised and they only talk to the library from the same vendor. If some shared-memory protocol spec were openly available, we could consider implementing that, to be compatible with at least someone. |
Thanks for the quick reply. About IPv6I started to mess around with that, if I get it to work I will make a PR. In the time being I suggest to not even try to connect to IPv6 interfaces and throw an error like "IPv6 not supported" - because now some features like socket creation work but some (e.g. multicast) don't. A developer then has to dig into the code of this library do understand the problem. About Shared MemoryeProsima's FastDDS implementation is open source and uses shared memory. As far as I understood the shared memory feature is really only to improve internal IPC performance (?). So if you have different DDS on the same system, you'd still have to use UDP, no need to worry about compatibility. About ROS2 and no colconIn the end I want to have ROS2 on a A53 with openembedded linux (aarch64). With Rust, I wouldn't have to mess with colcon/catkin which only supports Ubuntu natively. Pure Rust cross compiling is so much easier. I am grateful for any hints you'd have on this. |
The suggestion of disabling IPv6 for now is a good one. Can you make on PR on that? Did you check all the basic things on Debian, such as firewalling? Does |
Great project, I consider using this at my company.
However, at one of my PCs I only have IPv6 available. When I run the
ros_visualizer
example withAbout once a second I get
On Manjaro (where the behavior from above was observed), the
shapes_demo
example works, also with the RTI Connext demo but not with OpenDDS. The OpenDDS demo does not seem to interact with any other interop example other than itself.On Debian, rustDDS (and openDDS) do not work at all. There is simply no discovery and only HEARTBEAT messages are sent. Any ideas?
Another question, does this library support shared memory for IPC?
The text was updated successfully, but these errors were encountered: