diff options
| author | Mike O'Driscoll <mikeo@tailscale.com> | 2026-04-10 18:37:54 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-10 18:37:54 -0400 |
| commit | ca5db865b40055336a59471bb413c96dfa87fb5c (patch) | |
| tree | 9e51910e264743ea6dc7c6a0ecc30ed76b0e8bfb /control/controlhttp/controlhttpserver/controlhttpserver.go | |
| parent | b4c0d67f8b9cba3b703e694700f3ecaae9a678e2 (diff) | |
| download | tailscale-ca5db865b40055336a59471bb413c96dfa87fb5c.tar.xz tailscale-ca5db865b40055336a59471bb413c96dfa87fb5c.zip | |
cmd/derper,derp: add --rate-config file with SIGHUP reload (#19314)
Add a --rate-config flag pointing to a JSON file for per-client receive
rate limits (bytes/sec and burst bytes). The config is reloaded on SIGHUP,
updating all existing client connections live. The --per-client-rate-limit
and --per-client-rate-burst flags are removed in favor of the config file.
In derpserver, rate limiting uses an atomic.Pointer[xrate.Limiter] per
client: nil when unlimited or mesh (zero overhead), non-nil when
rate-limited.
Document that clientSet.activeClient Store operations require Server.mu.
Updates tailscale/corp#38509
Signed-off-by: Mike O'Driscoll <mikeo@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions
