Skip to main content

Module status

Module status 

Source
Expand description

Netmap status snapshot, WhoIs, and watcher types. Netmap status aggregation, WhoIs lookups, and a netmap-change watcher.

These surface the internal netmap state (ts_control::StateUpdate, consumed by the PeerTracker) to embedders, mirroring tsnet’s LocalClient::Status, WhoIs, and WatchIPNBus.

§Capability / user / online surfacing (do not fabricate)

tsnet’s Status/WhoIs also carry per-node online state, the owning user (login/profile), and a capability map. Status of each in this fork:

  • Capabilities — surfaced: WhoIs::capabilities is populated from the domain Node’s cap_map (the control-pushed CapMap), which the domain model retains.
  • User (login/profile) — surfaced when the netmap provided it: WhoIs::user is the owning user’s login/display name, resolved by joining the node’s owning user id against the netmap’s UserProfiles table (accumulated by the PeerTracker across delta updates). None when control sent no profile for that user.
  • Online state — surfaced: StatusNode::online / StatusNode::last_seen reflect the domain Node’s retained online/last_seen, populated from the netmap node and its online deltas (PeerChange, MapResponse.online_change/peer_seen_change). online stays tri-state (None = unknown), never fabricated to false.

Structs§

FileTarget
A tailnet peer this node can send a Taildrop file to, plus the peerAPI base URL to reach it.
NetcheckReport
A snapshot of this node’s latest network conditions report — the Rust analog of Go’s netcheck.Report as tailscale netcheck surfaces it.
RegionLatency
A measured-latency entry for one DERP region in a NetcheckReport.
Status
A snapshot of the local netmap: this node plus every known peer.
StatusNode
A single node entry in a Status snapshot.
WhoIs
The result of a Runtime::whois lookup: the node that owns a tailnet source address, plus its user and capabilities.