net/portmapper: add envknob to disable portmapper in localhost integration tests

Updates #11962

Change-Id: I8212cd814985b455d96986de0d4c45f119516cb3
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2024-05-06 11:05:00 -07:00
parent 30404cfbb5
commit 1ea3c04cc9
2 changed files with 7 additions and 0 deletions

View File

@ -21,6 +21,7 @@ import (
"go4.org/mem"
"tailscale.com/control/controlknobs"
"tailscale.com/envknob"
"tailscale.com/net/netaddr"
"tailscale.com/net/neterror"
"tailscale.com/net/netmon"
@ -32,6 +33,8 @@ import (
"tailscale.com/util/clientmetric"
)
var disablePortMapperEnv = envknob.RegisterBool("TS_DISABLE_PORTMAPPER")
// DebugKnobs contains debug configuration that can be provided when creating a
// Client. The zero value is valid for use.
type DebugKnobs struct {
@ -55,6 +58,9 @@ type DebugKnobs struct {
}
func (k *DebugKnobs) disableAll() bool {
if disablePortMapperEnv() {
return true
}
if k.DisableAll != nil {
return k.DisableAll()
}

View File

@ -1262,6 +1262,7 @@ func (n *testNode) StartDaemonAsIPNGOOS(ipnGOOS string) *Daemon {
"TS_NETCHECK_GENERATE_204_URL="+n.env.ControlServer.URL+"/generate_204",
"TS_ASSUME_NETWORK_UP_FOR_TEST=1", // don't pause control client in airplane mode (no wifi, etc)
"TS_PANIC_IF_HIT_MAIN_CONTROL=1",
"TS_DISABLE_PORTMAPPER=1", // shouldn't be needed; test is all localhost
)
if version.IsRace() {
cmd.Env = append(cmd.Env, "GORACE=halt_on_error=1")