A Zenoh plugin that transparently routes DDS data for geographical routing, scaling discovery, and bridging DDS systems.
Eclipse Zenoh DDS plugin is a bridge that transparently routes DDS (Data Distribution Service) data through the Zenoh protocol. It enables DDS applications to leverage Zenoh for geographical routing, scalable discovery, and integration with other technologies like MQTT or ROS 2. The plugin operates without deserializing DDS payloads, preserving QoS and efficiency.
Developers and system architects working with DDS-based systems, particularly in robotics (ROS 2), IoT, and distributed real-time applications who need cross-network communication, cloud scaling, or interoperability with other pub/sub protocols.
It provides a high-performance, zero-overhead bridge between DDS and Zenoh, enabling scalable discovery, geographical distribution, and multi-technology integration without modifying existing DDS applications. Its support for shared memory and DDS Security adds flexibility for performance-critical and secure deployments.
A zenoh plug-in that allows to transparently route DDS data. This plugin can be used by DDS applications to leverage zenoh for geographical routing or for better scaling discovery. For ROS2 robotic applications, use https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Routes DDS publications as Zenoh publications without deserializing payloads, preserving DDS QoS and ensuring efficient data transfer with minimal latency.
Forwards DDS discovery information in a compact form via Zenoh, significantly reducing network overhead and improving scaling in large deployments.
Offers both a plugin for Zenoh routers and a standalone executable, with configuration via JSON5 files and command-line arguments for easy integration.
Exposes an administration space via Zenoh APIs, allowing real-time monitoring of discovered DDS entities and established routes through queries.
Requires exact Rust version matching with zenohd, plus LLVM, CMake, and other native dependencies, making setup error-prone and time-consuming.
Docker usage is restricted to Linux hosts with host networking due to UDP multicast issues, and shared memory features are unsupported on Windows.
For ROS 2, the plugin is less optimal than the dedicated zenoh-plugin-ros2dds, leading to poorer tooling support and graph discovery, as admitted in the README.