mirror of
https://github.com/tailscale/tailscale.git
synced 2026-06-11 21:02:39 +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>
25 lines
861 B
Makefile
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
|