Comments (2)
Hey, @mitch-galea! Did you find a solution? I have the same question.
from rmw_cyclonedds.
I've seen variations of this question before and answered them, but this one completely escaped my notice until now. I am so sorry about that ...
In those other cases the problem was that one Cyclone DDS node would advertise two addresses (both valid on that machine) and another node would see both addresses as "routable addresses" and assume that both addresses would work despite one of them not being directly connected. If the kernel routes them it should work, but if not ...
In this particular case, e.g., B advertises both addresses, and A considers 10.8.0.2 a viable address despite A only being connected to the 192.168.2.x network. Then it can happen that A picks the 10.8.0.2 address to send data to B.
Some time ago I did a proper fix as part of something else, but that has stalled for a lack of time. I really need to finish that one, it really solves some nasty issues.
There is a way to avoid it making this assumption by configuring it differently: if you set the General/DontRoute
option to true
, it sets the corresponding IP option. Because that IP option means you can't send data to an address on a network you're not directly connected to, it then also ignores those addresses completely. So in that case, A will consistently use 192.168.2.1 to send data to B.
from rmw_cyclonedds.
Related Issues (20)
- cyclonedds over loopback device having issues when wifi interface is active HOT 3
- rmw_cyclonedds API: access native Cyclone DDS entities HOT 2
- [Iron][nav2] error: Failed to find a free participant index for domain 0 HOT 23
- multiple network interfaces unicast can not work with multiple PC HOT 2
- Segmentation fault: rmw_wait with cyclone dds HOT 10
- Frequency drops with additional subscriber HOT 9
- Execute cycloneDDS example across network HOT 4
- When using the ROS2 hub version for multi machine communication, B computer cannot view A computer topics when using Cyclonedds HOT 1
- Get unknown element for tags "Interfaces" and "SocketReceiveBufferSize" in config file for cyclonedds HOT 1
- random exception during node startup with use_sim_time:=true when Iceoryx is used HOT 10
- Add Iceoryx introspection tool to ROS Iceoryx build HOT 5
- Possible memory leak in Cyclone/Iceoryx subscriber history queue HOT 5
- Composable node randomly not loading when shared memory is used.
- Lifespan not working with transiet_local subscriber HOT 7
- Galactic CycloneDDS 0.8 check_whc Assertion failed crash HOT 2
- Got "unknown source entity, ignore." when only use shared memory
- Cannot get messages when communicating crossing different machines and docker containers via multicast by defining Peers
- Error getting RMW implementation identifier HOT 6
- subscriber crashed when deserialize msg which is send by foxglove_bridge through loaned api HOT 1
- Compilation error while building ros2 humble on ubunutu 20.04 from source HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rmw_cyclonedds.