Skip to main content

Module interface

Module interface 

Source
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§

AsyncWriterMetrics
ConfigSection
ConfigObj section passed to factories that need nested [[[sections]]].
DynamicInterfaceTemplate
InterfaceEntry
Everything the driver tracks per interface.
InterfaceIdHasher
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.
ListenerControl
SocketProtectorGuard
Exclusive process-scoped socket protection registration.
StartContext
Context passed to InterfaceFactory::start().
SubInterface
A single subinterface returned from a multi-interface factory.

Enums§

FrameBytes
Frame bytes queued for a writer: owned, or shared with the driver’s forwarding buffer so queueing a forwarded frame does not copy it.
StartResult
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§

InterfaceConfigData
Opaque interface config data. Each factory downcasts to its concrete type.
InterfaceFactory
Factory that can parse config and start an interface type.
SocketProtector
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§

InterfaceMap
Map keyed by interface ID using InterfaceIdHasher.