pub struct DiscoveryTomlConfig {Show 15 fields
pub profile: Option<String>,
pub node_name: Option<String>,
pub served_prefixes: Vec<String>,
pub hello_interval_base_ms: Option<u64>,
pub hello_interval_max_ms: Option<u64>,
pub liveness_miss_count: Option<u32>,
pub swim_indirect_fanout: Option<u32>,
pub gossip_fanout: Option<u32>,
pub relay_records: Option<bool>,
pub auto_fib_cost: Option<u32>,
pub auto_fib_ttl_multiplier: Option<f32>,
pub pib_path: Option<String>,
pub key_name: Option<String>,
pub discovery_transport: Option<String>,
pub ether_iface: Option<String>,
}Expand description
[discovery] section — neighbor and service discovery configuration.
Discovery is disabled unless node_name is set.
[discovery]
profile = "lan"
node_name = "/ndn/site/myrouter"
served_prefixes = ["/ndn/site/sensors"]
# optional per-field overrides:
hello_interval_base_ms = 5000
hello_interval_max_ms = 60000
liveness_miss_count = 3
gossip_fanout = 3
relay_records = false
auto_fib_cost = 100
auto_fib_ttl_multiplier = 2.0Fields§
§profile: Option<String>Deployment profile name: static, lan, campus, mobile,
high-mobility, or asymmetric. Defaults to lan.
node_name: Option<String>This node’s NDN name. Required to enable discovery.
If the value ends with /, the system hostname is appended
automatically (e.g. "/ndn/site/" → "/ndn/site/router1").
served_prefixes: Vec<String>Prefixes published as service records at startup via
ServiceDiscoveryProtocol::publish().
hello_interval_base_ms: Option<u64>Override hello_interval_base in milliseconds.
hello_interval_max_ms: Option<u64>Override hello_interval_max in milliseconds.
liveness_miss_count: Option<u32>Override liveness_miss_count.
swim_indirect_fanout: Option<u32>Override SWIM indirect-probe fanout K.
gossip_fanout: Option<u32>Override gossip broadcast fanout.
relay_records: Option<bool>Override relay_records in ServiceDiscoveryConfig.
auto_fib_cost: Option<u32>Override auto-FIB route cost.
auto_fib_ttl_multiplier: Option<f32>Override auto-FIB TTL multiplier.
pib_path: Option<String>Optional PIB (public information base) path for persistent key storage.
Defaults to ~/.ndn/pib.db.
key_name: Option<String>Key name for signing hello packets. If absent, a deterministic ephemeral Ed25519 key is auto-generated from the node name.
discovery_transport: Option<String>Which link-layer transports to run discovery on.
Accepted values:
"udp"(default): UDP multicast only (224.0.23.170:6363)."ether": raw Ethernet multicast only (EtherType 0x8624)."both": UDP and Ethernet simultaneously.
Ethernet discovery requires CAP_NET_RAW / root on Linux, or root on
macOS (PF_NDRV). The ether and both options also require at least
one [[face]] entry with kind = "ether-multicast" (providing the
FaceId and interface name).
ether_iface: Option<String>Network interface name for Ethernet discovery (e.g. "eth0", "en0").
Required when discovery_transport is "ether" or "both".
Implementations§
Trait Implementations§
Source§impl Clone for DiscoveryTomlConfig
impl Clone for DiscoveryTomlConfig
Source§fn clone(&self) -> DiscoveryTomlConfig
fn clone(&self) -> DiscoveryTomlConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more