Bundle Protocol diagnostic and testing tools.
Part of the Hardy DTN Bundle Protocol implementation.
# Build the tools
cargo build --release -p hardy-tools
# Ping a remote DTN node via TCPCLv4
bp ping ipn:2.0 192.168.1.10:4556
# Ping with a specific source EID
bp ping -S ipn:1.42 ipn:2.0 192.168.1.10:4556Send ping bundles to a destination endpoint and measure round-trip times. Embeds a minimal BPA and establishes a CLA connection (TCPCLv4 by default). Round-trip integrity is checked by comparing each reflected payload against what was sent. Press Ctrl+C to stop and show statistics.
bp ping [OPTIONS] <DESTINATION> [PEER]
Examples:
# Send 10 pings at 500ms intervals
bp ping -c 10 -i 500ms ipn:2.0 192.168.1.10:4556
# Ping with 1KB payload (MTU testing)
bp ping -s 1024 ipn:2.0 192.168.1.10:4556
# Ping with a 30-second timeout, quiet mode (summary only)
bp ping -q -w 30s ipn:2.0 192.168.1.10:4556
# Use an external CLA binary instead of built-in TCPCLv4
bp ping --cla /usr/bin/my-cla --cla-args "--port 5000" ipn:2.0
# Verbose output for debugging
bp ping -v=debug ipn:2.0 192.168.1.10:4556Options:
| Option | Default | Description |
|---|---|---|
-c, --count |
unlimited | Number of pings to send |
-i, --interval |
1s |
Interval between pings |
-s, --size |
-- | Target bundle size in bytes |
-w, --timeout |
-- | Total time limit for the session |
-W, --wait |
-- | Time to wait for responses after last ping |
-q, --quiet |
-- | Only show summary statistics |
-v, --verbose |
-- | Verbose output (trace, debug, info, warn, error) |
-t, --ttl |
-- | Hop limit (like IP TTL) |
--lifetime |
auto | Bundle lifetime |
-S, --source |
random | Source EID |
--cla |
tcpclv4 |
CLA name or path to external CLA binary |
--cla-args |
-- | Arguments for external CLA binary |
--grpc-listen |
[::1]:50051 |
gRPC listen address for external CLAs |
--no-payload-crc |
-- | Disable CRC on payload block (DTNME compat) |
--tls-insecure |
-- | Accept self-signed TLS certificates |
--tls-ca |
-- | CA bundle directory for TLS |
Apache 2.0 -- see LICENSE