Environment Variables
HDDS can be configured via environment variables. All variables are prefixed with HDDS_.
Discovery & Networking
| Variable | Purpose | Example |
|---|---|---|
HDDS_SPDP_UNICAST_PEERS | Manual unicast peer list | 192.168.1.100:7400,192.168.1.101:7400 |
HDDS_LOG_UDP | Enable UDP debug logging | 1 |
HDDS_INTEROP_DIAGNOSTICS | Enable interop diagnostics | 1 |
HDDS_FORCE_DATA_MC | Route DATA to multicast | 1 |
HDDS_DISABLE_TYPE_OBJECT | Disable TypeObject announcement | 1 |
Network Interface Control
| Variable | Purpose | Format |
|---|---|---|
HDDS_MULTICAST_IF | Force multicast interface | IPv4 address (e.g., 192.168.1.5) |
HDDS_UNICAST_IF | Force unicast interface | IPv4 address |
HDDS_INTERFACE_ALLOW | Allow specific interfaces | CIDR list: eth0,192.168.1.0/24 |
TTL (Time-To-Live) Configuration
| Variable | Purpose | Range |
|---|---|---|
HDDS_TTL | Set both multicast & unicast TTL | 1-255 |
HDDS_MULTICAST_TTL | Multicast TTL only | 1-255 |
HDDS_UNICAST_TTL | Unicast TTL only | 1-255 |
Source Filtering
| Variable | Purpose | Format |
|---|---|---|
HDDS_SOURCE_ALLOW | Allowed source CIDRs | 192.168.1.0/24,10.0.0.0/8 |
HDDS_SOURCE_DENY | Denied source CIDRs | 192.168.0.0/16 |
QoS & Traffic Control
| Variable | Purpose | Format |
|---|---|---|
HDDS_DSCP | DSCP code points | 18,46,26 (AF21, EF, AF31) |
Observability
| Variable | Purpose | Values |
|---|---|---|
HDDS_EXPORTER_DISABLE | Disable telemetry export | 1, true, or yes |
Logging
Standard Rust logging via RUST_LOG:
# Enable debug logging for HDDS
RUST_LOG=hdds=debug ./my_app
# Trace-level for discovery
RUST_LOG=hdds::discovery=trace ./my_app
# Multiple filters
RUST_LOG=hdds=debug,hdds::transport=trace ./my_app
Examples
Static Peer Discovery
# Disable multicast, use unicast peers only
export HDDS_SPDP_UNICAST_PEERS="10.0.0.1:7400,10.0.0.2:7400"
./my_dds_app
Network Interface Selection
# Force specific network interface
export HDDS_MULTICAST_IF="192.168.1.100"
export HDDS_UNICAST_IF="192.168.1.100"
./my_dds_app
TTL for Multi-Hop Networks
# Increase TTL for WAN scenarios
export HDDS_TTL=32
./my_dds_app
Debug Interoperability
# Enable verbose interop logging
export HDDS_INTEROP_DIAGNOSTICS=1
export RUST_LOG=hdds=debug
./my_dds_app
Firewall-Friendly Setup
# Disable multicast, use unicast only
export HDDS_SPDP_UNICAST_PEERS="peer1.example.com:7400"
export HDDS_FORCE_DATA_MC=0
./my_dds_app