This is the shipped English man-page reference for zerodds-router — the same text as man zerodds-router. The surrounding navigation follows the language switch; the reference body stays English, as man-pages conventionally do.
Dies ist die ausgelieferte englische man-page-Referenz für zerodds-router — derselbe Text wie man zerodds-router. Navigation und Seitenrahmen folgen dem Sprach-Umschalter; der Referenz-Body bleibt englisch, wie man-pages es konventionell tun.
NAME
zerodds-router - DDS routing-service daemon
SYNOPSIS
zerodds-router run --config
FILE [--types SHAPES.json]
zerodds-router validate --config
FILE
DESCRIPTION
zerodds-router is a DDS-to-DDS forwarding daemon: it copies samples between DDS endpoints that differ in domain, topic, or partition, optionally filtering and transforming each sample on the way. It is a native in-DDS routing service, not a protocol bridge — both ends speak RTPS.
Each route declares an input and an output endpoint (domain, topic, type name, partitions, QoS). A route may carry a content filter (an SQL-like expression that drops non-matching samples) and a field transform (rename / set-const). A built-in loop guard prevents a sample from being re-forwarded on a domain that is both an input and an output.
COMMANDS
- run
-
Start the router and forward until SIGINT/SIGTERM.
- validate
-
Parse and validate the config, print the resolved routes, and exit without joining any domain.
OPTIONS
- --config FILE
-
Route configuration. The format is chosen by extension: a .xml path is parsed as XML, anything else as JSON. Required.
- --types SHAPES.json
-
A JSON array of type shapes describing each route's type_name, e.g. [{ "name": "ns::T", "members": [{ "name": "v", "kind": "u32" }] }]. Required only for routes that use a filter or transform, which must understand the sample's fields. Plain raw-byte forwards (type_name zerodds::RawBytes) need no shapes.
CONFIGURATION
The config has a top-level name and a list of routes. Each route has input and output endpoints; optional filter, transform, loop_guard (default true) and preserve_source_timestamp (default false). An endpoint has domain, topic, type_name, optional partition and qos (reliability, durability, ownership, ...). See /usr/share/zerodds/configs/router.json.example for a working two-route configuration.
SIGNALS
SIGINT and SIGTERM trigger a graceful shutdown; the per-route metrics (forwarded, dropped by loop guard, dropped by filter, lifecycle, errors) are printed before exit. There is no SIGHUP reload — edit the config and restart the service.
FILES
- /etc/zerodds/router.json
-
Default configuration read by the zerodds-router.service(8) systemd unit.
- /usr/share/zerodds/configs/router.json.example
-
Shipped example configuration.
EXIT STATUS
0 on a clean validate or a clean shutdown, 1 on a usage error or a config / startup failure.
SEE ALSO
zerodds-admin(1), zerodds-spy(1)
AUTHOR
ZeroDDS Contributors.