zenoh-plugin-ros2dds
zenoh-plugin-ros2dds copied to clipboard
[Bug] Remote bridge constantly retires writers on UDP
Describe the bug
No issues with TCP, but with the exact same configuration with UDP I get about a second or two of streaming, followed by a barrage of messages saying "Remote bridge {GUID} retires {Publisher/Service/Action/etc.}" and then "Route Publisher (ROS:/{TOPIC} -> Zenoh:{TOPIC}) removed"
Connectivity isn't an issue since just replacing udp
with tcp
in the command argument everything works fine.
Using CycloneDDS configured on the localhost only, and loopback multicast force-enabled.
For extra context, running around 60 nodes with 130 topics on a single PC, a lot from the Nav2 stack. WiFi bandwidth at least 150 Mbit/s. When streaming over TCP, around 80 Mbit/s down. Running in Podman OCI containers for convenience, but previously reproduced outside of containers too. Devices both on the same LAN.
To reproduce
- Start Zenoh bridge with config
-l udp/0.0.0.0:7447
- Run client/peer with config
-e udp/{ BRIDGE_IP}:7447
System info
- Platform: Official Open Source Robotics Foundation Docker image (Humble) running on Debian 12 host.
- CPU: AMD Ryzen Embedded V2718 with Radeon Graphics
- Zenoh verison/commit: 2c52d0b32954e66c7759e994511695206b21de65