tailscale/gokrazy/Makefile
Brad Fitzpatrick 5e33c4125f tstest/natlab/vmtest: add buggy Linux 7.0 gokrazy repro
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>
2026-05-29 21:16:50 +00:00

25 lines
861 B
Makefile

help:
echo "See Makefile"
image:
go run build.go --build
qemu: image
qemu-system-x86_64 -m 1G -drive file=tsapp.img,format=raw -boot d -netdev user,id=user.0 -device virtio-net-pci,netdev=user.0 -serial mon:stdio -audio none
# For natlab integration tests:
natlab:
go run build.go --build --app=natlabapp
qemu-img convert -O qcow2 natlabapp.img natlabapp.qcow2
# For natlab integration tests that need the Linux 7.0 UDP GSO bug.
# Requires ../github.com/tailscale/gokrazy-kernel-buggy-linux-7_0/vmlinuz.
natlab-buggy-linux-7_0:
go run build.go --build --app=natlabapp.buggy-linux-7_0
qemu-img convert -O qcow2 natlabapp.buggy-linux-7_0.img natlabapp.buggy-linux-7_0.qcow2
# For natlab integration tests on macOS arm64:
natlab-arm64:
go run build.go --build --app=natlabapp.arm64
qemu-img convert -O qcow2 natlabapp.arm64.img natlabapp.arm64.qcow2