mirror of
https://github.com/tailscale/tailscale.git
synced 2026-10-23 03:37:19 +09:00
When receiving a PCP request, a NAT-PMP-only server must reply with an unsupported version response. Same for a PCP-only server receiving a NAT-PMP request. The tailscale client sends both a NAT-PMP and a PCP request when probing for portmapping support and it correctly handle any unsupported version response it receives. Updates #21713 Change-Id: I0ec8b4a6c1de14bcc64b82f1988cde7fc01f5747 Signed-off-by: Francois Marier <francois@tailscale.com>
natlab
Virtual network lab for integration tests. Tracking issue: https://github.com/tailscale/tailscale/issues/13038
Use the run-natlab-tests GitHub label on PRs to run these tests.
Prerequisites
qemu-system-x86_64andqemu-img. On Debian/Ubuntu:apt install qemu-system-x86 qemu-utils- A built gokrazy natlabapp image (auto-built on first run via
make -C gokrazy natlab)
KVM is used automatically on Linux when /dev/kvm is readable+writable. Add
yourself to the kvm group to avoid QEMU falling back to software emulation.
Running locally
go test ./tstest/natlab/vmtest/ --run-vm-tests -v -timeout=15
go test's default timeout (10 min) is likely not enough to cover the whole
package. You may need to raise it further or disable the timeout entirely
(-timeout=0) when running the full suite.
Alternatively, select individual tests with the usual -run.