mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-12 13:48:01 +00:00
.bencher
.github
atomicfile
chirp
client
cmd
control
derp
disco
docs
doctor
envknob
health
hostinfo
internal
ipn
jsondb
kube
licenses
log
logpolicy
logtail
metrics
net
dns
dnscache
dnsfallback
flowtrack
interfaces
netaddr
netcheck
neterror
netknob
netknob.go
netns
netstat
nettest
netutil
packet
ping
portmapper
proxymux
routetable
socks5
speedtest
stun
tlsdial
tsaddr
tsdial
tshttpproxy
tstun
tunstats
wsconn
packages
paths
portlist
prober
safesocket
scripts
smallzstd
ssh
syncs
tailcfg
tempfork
tka
tool
tsconst
tsnet
tstest
tstime
tsweb
types
util
version
wf
wgengine
words
.gitattributes
.gitignore
ALPINE.txt
AUTHORS
CODE_OF_CONDUCT.md
Dockerfile
Dockerfile.base
LICENSE
Makefile
PATENTS
README.md
SECURITY.md
VERSION.txt
api.md
build_dist.sh
build_docker.sh
go.mod
go.sum
go.toolchain.branch
go.toolchain.rev
pull-toolchain.sh
shell.nix
staticcheck.conf
version-embed.go
version_test.go

Updates #2442 Updates tailscale/corp#2750 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
31 lines
880 B
Go
31 lines
880 B
Go
// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package netknob has Tailscale network knobs.
|
|
package netknob
|
|
|
|
import (
|
|
"runtime"
|
|
"time"
|
|
)
|
|
|
|
// PlatformTCPKeepAlive returns the default net.Dialer.KeepAlive
|
|
// value for the current runtime.GOOS.
|
|
func PlatformTCPKeepAlive() time.Duration {
|
|
switch runtime.GOOS {
|
|
case "ios", "android":
|
|
// Disable TCP keep-alives on mobile platforms.
|
|
// See https://github.com/golang/go/issues/48622.
|
|
//
|
|
// TODO(bradfitz): in 1.17.x, try disabling TCP
|
|
// keep-alives on for all platforms.
|
|
return -1
|
|
}
|
|
|
|
// Otherwise, default to 30 seconds, which is mostly what we
|
|
// used to do. In some places we used the zero value, which Go
|
|
// defaults to 15 seconds. But 30 seconds is fine.
|
|
return 30 * time.Second
|
|
}
|