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/wgengine/magicsock
Brad Fitzpatrick 75a03fc719 wgengine/magicsock: use learned DERP route as send path of last resort
If we get a packet in over some DERP and don't otherwise know how to
reply (no known DERP home or UDP endpoint), this makes us use the
DERP connection on which we received the packet to reply. This will
almost always be our own home DERP region.

This is particularly useful for large one-way nodes (such as
hello.ts.net) that don't actively reach out to other nodes, so don't
need to be told the DERP home of peers. They can instead learn the
DERP home upon getting the first connection.

This can also help nodes from a slow or misbehaving control plane.

Updates tailscale/corp#26438

Change-Id: I6241ec92828bf45982e0eb83ad5c7404df5968bc
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
9 months ago
..
batching_conn.go wgengine/magicsock: refactor batchingUDPConn to batchingConn interface (#13042) 1 year ago
batching_conn_default.go wgengine/magicsock: refactor batchingUDPConn to batchingConn interface (#13042) 1 year ago
batching_conn_linux.go wgengine/magicsock: don't upgrade to linuxBatchingConn on Android (#13161) 1 year ago
batching_conn_linux_test.go wgengine/magicsock: refactor batchingUDPConn to batchingConn interface (#13042) 1 year ago
blockforever_conn.go wgengine/magicsock: improve don't fragment bit set/get support 2 years ago
cloudinfo.go wgengine/magicsock: use cloud metadata to get public IPs 1 year ago
cloudinfo_nocloud.go wgengine/magicsock: use cloud metadata to get public IPs 1 year ago
cloudinfo_test.go wgengine/magicsock: use cloud metadata to get public IPs 1 year ago
debughttp.go all: use iterators over slice views more 1 year ago
debugknobs.go wgengine/magicsock: allow a CSV list for pretendpoint 1 year ago
debugknobs_stubs.go wgengine/magicsock: allow a CSV list for pretendpoint 1 year ago
derp.go wgengine/magicsock: use learned DERP route as send path of last resort 9 months ago
derp_test.go net/netcheck,wgengine/magicsock: align DERP frame receive time heuristics 2 years ago
discopingpurpose_string.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2 years ago
endpoint.go wgengine/magicsock: use learned DERP route as send path of last resort 9 months ago
endpoint_default.go all: adjust some build tags for plan9 2 years ago
endpoint_stub.go all: adjust some build tags for plan9 2 years ago
endpoint_test.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2 years ago
endpoint_tracker.go wgengine/magicsock: only cache N most recent endpoints per-Addr 2 years ago
endpoint_tracker_test.go all: use Go 1.22 range-over-int 2 years ago
magicsock.go feature/capture: move packet capture to feature/*, out of iOS + CLI 10 months ago
magicsock_default.go wgengine/magicsock: disable raw disco by default; add envknob to enable 1 year ago
magicsock_linux.go wgengine/magicsock: disable raw disco by default; add envknob to enable 1 year ago
magicsock_linux_test.go wgengine/magicsock: actually use AF_PACKET socket for raw disco 1 year ago
magicsock_notplan9.go wgengine/magicsock: refactor maybeRebindOnError 11 months ago
magicsock_notwindows.go wgengine/magicsock: disable SIO_UDP_NETRESET on Windows 1 year ago
magicsock_plan9.go wgengine/magicsock: refactor maybeRebindOnError 11 months ago
magicsock_test.go all: add Node.HomeDERP int, phase out "127.3.3.40:$region" hack [capver 111] 11 months ago
magicsock_unix_test.go all: update copyright and license headers 3 years ago
magicsock_windows.go wgengine/magicsock: disable SIO_UDP_NETRESET on Windows 1 year ago
peermap.go wgengine/magicsock: allow disco communication without known endpoints 2 years ago
peermtu.go magicsock: mute noisy expected peer mtu related error (#10870) 2 years ago
peermtu_darwin.go wgengine/magicsock: improve don't fragment bit set/get support 2 years ago
peermtu_linux.go wgengine/magicsock: improve don't fragment bit set/get support 2 years ago
peermtu_stubs.go magicsock: mute noisy expected peer mtu related error (#10870) 2 years ago
peermtu_unix.go wgengine/magicsock: replace CanPMTUD() with ShouldPMTUD() 2 years ago
rebinding_conn.go wgengine/magicsock: refactor batchingUDPConn to batchingConn interface (#13042) 1 year ago