You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/net
Mihai Parparita 79f3a5d753 net/netns, net/interfaces: explicitly bind sockets to the default interface on all Darwin variants
We were previously only doing this for tailscaled-on-Darwin, but it also
appears to help on iOS. Otherwise, when we rebind magicsock UDP
connections after a cellular -> WiFi interface change they still keep
using cellular one.

To do this correctly when using exit nodes, we need to exclude the
Tailscale interface when getting the default route, otherwise packets
cannot leave the tunnel. There are native macOS/iOS APIs that we can
use to do this, so we allow those clients to override the implementation
of DefaultRouteInterfaceIndex.

Updates #6565, may also help with #5156

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2 years ago
..
connstats net/connstats: invert network logging data flow (#6272) 2 years ago
dns net/dns: [linux] log and add metric for dnsMode 2 years ago
dnscache net/dnscache: Handle 4-in-6 addresses in DNS responses 2 years ago
dnsfallback all: remove old +build tags 2 years ago
flowtrack net/flowtrack: add json tags to Tuple (#5849) 2 years ago
interfaces net/netns, net/interfaces: explicitly bind sockets to the default interface on all Darwin variants 2 years ago
netaddr all: migrate code from netaddr.FromStdAddr to Go 1.18 2 years ago
netcheck net/netcheck: don't use a space in the captive portal challenge 2 years ago
neterror net/{neterror,dns/resolver}: move PacketWasTruncated to neterror from DNS code 3 years ago
netknob all: disable TCP keep-alives on iOS/Android 3 years ago
netns net/netns, net/interfaces: explicitly bind sockets to the default interface on all Darwin variants 2 years ago
netstat all: remove old +build tags 2 years ago
nettest ssh/tailssh: add TestSSHAuthFlow 2 years ago
netutil all: fix spelling mistakes 2 years ago
packet all: fix spelling mistakes 2 years ago
ping all: fix spelling mistakes 2 years ago
portmapper net/portmapper: add test for Huawei router 2 years ago
proxymux net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket. 3 years ago
routetable all: remove old +build tags 2 years ago
socks5 net/socks5: use new Go 1.19 binary.AppendByteOrder.AppendUintX 2 years ago
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2 years ago
stun net/netcheck: deflake (maybe) magicsock's TestNewConn 2 years ago
tlsdial all: remove old +build tags 2 years ago
tsaddr ipn/ipnlocal: also accept service IP IPv6 literal in brackets for quad100 2 years ago
tsdial all: standardize on PeerAPI 2 years ago
tshttpproxy net/tshttpproxy: don't ignore env-based HTTP proxies after system lookups fail 2 years ago
tstun net/connstats: invert network logging data flow (#6272) 2 years ago
wsconn net/wsconn: add back custom wrapper for turning a websocket.Conn into a net.Conn 2 years ago