mirror of
https://github.com/tailscale/tailscale.git
synced 2026-06-03 21:01:54 +08:00
Add a GokrazyBuggyLinux70 VM image that boots the Linux 7.0 kernel package from github.com/tailscale/gokrazy-kernel-buggy-linux-7_0 under QEMU q35 with the emulated igb NIC. The image lets vmtest exercise the UDP GSO regression independently of the host kernel version. Add TTA helpers to report ethtool netdev features and to run a TCP bulk-send probe between VMs. The diagnostic test verifies that QEMU's igb path exposes tx-udp-segmentation and tx-gso-partial. The mitigation test boots a buggy gokrazy node and a regular gokrazy node, demonstrates that a TCP transfer stalls without never-gso-equal-tail, then applies the node attribute and verifies the same transfer succeeds. Updates #19777 Change-Id: I21f1e5dc85d556eb514ffa361ee39aad142b7f2b Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.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-GT74VncdnlHQS8aExeOB4oJrGXAkllRBcfNkvAmMjt0=
|