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/ipn/ipnlocal
Simon Law c18ba4470b
ipn/ipnlocal: add traffic steering support to exit-node suggestions (#16527)
When `tailscale exit-node suggest` contacts the LocalAPI for a
suggested exit node, the client consults its netmap for peers that
contain the `suggest-exit-node` peercap. It currently uses a series of
heuristics to determine the exit node to suggest.

When the `traffic-steering` feature flag is enabled on its tailnet,
the client will defer to Control’s priority scores for a particular
peer. These scores, in `tailcfg.Hostinfo.Location.Priority`, were
historically only used for Mullvad exit nodes, but they have now been
extended to score any peer that could host a redundant resource.

Client capability version 119 is the earliest client that understands
these traffic steering scores. Control tells the client to switch to
rely on these scores by adding `tailcfg.NodeAttrTrafficSteering` to
its `AllCaps`.

Updates tailscale/corp#29966

Signed-off-by: Simon Law <sfllaw@tailscale.com>
5 months ago
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 3 years ago
autoupdate.go clientupdate: return true for CanAutoUpdate for macsys (#12746) 1 year ago
autoupdate_disabled.go ipn/ipnlocal: periodically run auto-updates when "offline" (#12118) 2 years ago
breaktcp_darwin.go cmd/tailscale: add debug commands to break connections 2 years ago
breaktcp_linux.go cmd/tailscale: add debug commands to break connections 2 years ago
bus.go ipn/ipnlocal: fix build, remove another Notify.BackendLogID reference that crept in 1 year ago
bus_test.go ipn/ipnlocal: add IPN Bus NotifyRateLimit watch bit NotifyRateLimit 1 year ago
c2n.go ipn: add missing entries for OpenBSD 6 months ago
c2n_pprof.go ipn/ipnlocal: add c2n /debug/pprof/allocs endpoint 2 years ago
c2n_test.go util/cmpx: delete now that we're using Go 1.22 2 years ago
cert.go ipn/ipnlocal: include previous cert in new ACME orders (#15595) 8 months ago
cert_js.go ipn/ipnlocal: add c2n method to check on TLS cert fetch status 2 years ago
cert_test.go ipn/ipnlocal, envknob: make it possible to configure the cert client to act in read-only mode (#15250) 9 months ago
dnsconfig_test.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
drive.go drive,ipn/ipnlocal: calculate peer taildrive URLs on-demand 5 months ago
expiry.go all: add Node.HomeDERP int, phase out "127.3.3.40:$region" hack [capver 111] 11 months ago
expiry_test.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 11 months ago
extension_host.go ipn/ipnlocal: make GetExt work earlier, before extension init 7 months ago
extension_host_test.go ipn/ipnlocal: fix missing defer in testExtension.Shutdown 5 months ago
local.go ipn/ipnlocal: add traffic steering support to exit-node suggestions (#16527) 5 months ago
local_test.go ipn/ipnlocal: add traffic steering support to exit-node suggestions (#16527) 5 months ago
loglines_test.go net/netmon: publish events to event bus 8 months ago
network-lock.go ipn/ipnlocal: make pricing restriction message for Tailnet Lock clearer 6 months ago
network-lock_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
node_backend.go ipn/ipnlocal: update PeerByID to return SelfNode and rename it to NodeByID (#16096) 5 months ago
node_backend_test.go ipn/ipnlocal,wgengine/magicsock: use eventbus for node & filter updates (#16271) 6 months ago
peerapi.go ipn/ipnlocal: add some verbose logging to taildrive peerapi handler 6 months ago
peerapi_h2c.go all: update copyright and license headers 3 years ago
peerapi_macios_ext.go net/netmon, add: add netmon.State type alias of interfaces.State 2 years ago
peerapi_test.go feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 7 months ago
prefs_metrics.go health, ipn/ipnlocal: add metrics for various client events (#15828) 7 months ago
profiles.go health, ipn/ipnlocal: add metrics for various client events (#15828) 7 months ago
profiles_notwindows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
profiles_test.go feature,ipn/ipnlocal: add profileManager.StateChangeHook 7 months ago
profiles_windows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
serve.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
serve_test.go ipn/ipnlocal,wgengine{/magicsock}: replace SetNetworkMap with eventbus (#16299) 6 months ago
ssh.go all: remove non-applicable "linux" deps on Android 7 months ago
ssh_stub.go all: remove non-applicable "linux" deps on Android 7 months ago
ssh_test.go ipn/ipnlocal: plumb health.Tracker into profileManager constructor 2 years ago
state_test.go cmd/tailscale/cli,ipn/ipnlocal: restrict logout when AlwaysOn mode is enabled 5 months ago
web_client.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
web_client_stub.go all: use new LocalAPI client package location 10 months ago