mirror of
https://github.com/tailscale/tailscale.git
synced 2026-09-16 07:52:22 -04:00
Update gVisor to include its fix for RACK loss detection with coarse monotonic clocks. Configure netstack with the 500 microsecond clock resolution used on Windows so RACK accounts for timestamp quantization. Remove the TCP recovery override that disabled RACK, enabling gVisor's default RACK behavior on all platforms. Switch netstack to cubic congestion control. The int overflow in CUBIC sender cwnd arithmetic that required pinning reno has since been reworked upstream into float arithmetic with RFC 9438 target clamping. Align the natlab vnet stack with netstack: enable cubic, and drop the now-redundant explicit SACK and receive-buffer moderation sets, both of which are gVisor defaults. Fixes #9707 Signed-off-by: James Tucker <jftucker@gmail.com>
20 lines
788 B
Nix
20 lines
788 B
Nix
# This is a shell.nix file used to describe the environment that
|
|
# tailscale needs for development.
|
|
#
|
|
# For more information about this and why this file is useful, see here:
|
|
# https://nixos.org/guides/nix-pills/developing-with-nix-shell.html
|
|
#
|
|
# Also look into direnv: https://direnv.net/, this can make it so that you can
|
|
# automatically get your environment set up when you change folders into the
|
|
# project.
|
|
(import (
|
|
let
|
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
|
in fetchTarball {
|
|
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
|
sha256 = lock.nodes.flake-compat.locked.narHash; }
|
|
) {
|
|
src = ./.;
|
|
}).shellNix
|
|
# nix-direnv cache busting line: sha256-w408OwRn0aW2txGwqf0CA75Zlxz/5kpvXRdiK8xrV1w=
|