Expand description
Network interface abstractions.
Re-exports§
pub use crate::common::interface_stats::InterfaceStats;pub use crate::common::interface_stats::TrafficRates;pub use crate::common::interface_stats::ANNOUNCE_SAMPLE_MAX;
Modules§
- auto
- AutoInterface: Zero-configuration LAN auto-discovery via IPv6 multicast.
- ax25_
kiss - AX.25 UI framing carried over a KISS TNC.
- backbone
- Backbone TCP mesh interface using cross-platform polling.
- i2p
- I2P interface using the SAM v3.1 protocol.
- kiss_
iface - KISS interface with flow control and TNC configuration.
- local
- Local shared instance interface.
- pipe
- Pipe interface: subprocess stdin/stdout with HDLC framing.
- registry
- Interface factory registry.
- rnode
- RNode LoRa radio interface.
- serial_
iface - Serial interface with HDLC framing.
- tcp
- TCP client interface with HDLC framing.
- tcp_
server - TCP server interface with HDLC framing.
- udp
- UDP broadcast interface.
- weave
- Weave Device Control Link (WDCL) framing and interface state.
Structs§
- Async
Writer Metrics - Config
Section - ConfigObj section passed to factories that need nested
[[[sections]]]. - Dynamic
Interface Template - Interface
Entry - Everything the driver tracks per interface.
- Interface
IdHasher - Hasher for maps keyed by
InterfaceId, looked up several times per forwarded packet. IDs are small trusted integers, so a multiplicative mix replaces SipHash, whose per-lookup cost showed up in forwarding profiles. - Listener
Control - Socket
Protector Guard - Exclusive process-scoped socket protection registration.
- Start
Context - Context passed to
InterfaceFactory::start(). - SubInterface
- A single subinterface returned from a multi-interface factory.
Enums§
- Frame
Bytes - Frame bytes queued for a writer: owned, or shared with the driver’s forwarding buffer so queueing a forwarded frame does not copy it.
- Start
Result - Result of starting an interface via a factory.
Constants§
- ASYNC_
WRITER_ BACKPRESSURE_ WAIT - Longest time a producer waits for a busy async writer to free queue space or byte budget before treating the frame as undeliverable.
- DEFAULT_
ASYNC_ WRITER_ QUEUE_ CAPACITY
Traits§
- Interface
Config Data - Opaque interface config data. Each factory downcasts to its concrete type.
- Interface
Factory - Factory that can parse config and start an interface type.
- Socket
Protector - Host callback used where every Reticulum underlay socket must be explicitly
excluded from an application VPN, notably Android
VpnService.protect(). - Writer
- Writable end of an interface. Held by the driver.
Functions§
- apply_
underlay_ mark - Apply a Linux firewall mark to an IP underlay socket.
- bind_
to_ device - Bind a socket to a specific network interface using
SO_BINDTODEVICE. - connect_
tcp_ with_ options - Connect a TCP socket after applying underlay routing options.
- install_
socket_ protector - shared_
medium_ hint - Return whether an interface type normally operates on a shared medium.
- validate_
underlay_ mark - Validate at node startup that the configured mark can actually be applied.
- wrap_
async_ writer
Type Aliases§
- Interface
Map - Map keyed by interface ID using
InterfaceIdHasher.