tailscale / tailscale/tailscale-rs
ts_control, ts_transport_derp: periodic DERP latency checking
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 61
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 22
Description
Currently, we only check latencies to DERP regions once on startup, and cut off the latency checking after we reach a threshold of responses or a certain amount of time has expired. This cut-off is necessary to keep startup time reasonable - depending on distance and network weather, some DERP regions can take seconds to respond.
Once we're up and connected, tailscale-rs needs to periodically re-check all DERP region latencies, change DERP home regions if necessary, and report new latencies/new home region to the control plane. As we're not constrained by startup time after the first latency check, there shouldn't be a problem reporting all latencies, as we're not in a rush.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ts_control and ts_transport_derp components named in the issue and read how the initial DERP latency check and control-plane reporting work. Trace the existing home-region selection and latency lifecycle before deciding where periodic checks belong. Done means all DERP regions are rechecked after startup, the home region can change, and updated latencies and home-region information reach the control plane.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100