tailscale / tailscale/tailscale-rs
ts_tunnel: decide on a replay window size
@danderson is already working on this.
Since Aug 4, 2026.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 61
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 22
Description
We apply a sliding window on received packets, to reject replay of old nonces while allowing for some small amount of reordering on the wire. ts_tunnel tracks the last 192 received packets (3 u64s per established session of overhead), whereas the reference implementation tracks 8128 packets (127 u64s per session).
The spec doesn't mandate any particular replay window size. ts_tunnel's was chosen to reduce the memory cost of established sessions relative to wireguard-go, but it may be too aggressively low for real networks. This is easily tunable in future either way, so we may just ignore it for now, but filing so we can triage properly.
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.
Assessment
This issue has not been assessed yet.