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
Brad Fitzpatrick 9538e9f970 ipn/ipnlocal: keep internal map updated of latest Nodes post mutations
We have some flaky integration tests elsewhere that have no one place
to ask about the state of the world. This makes LocalBackend be that
place (as it's basically there anyway) but doesn't yet add the ForTest
accessor method.

This adds a LocalBackend.peers map[NodeID]NodeView that is
incrementally updated as mutations arrive. And then we start moving
away from using NetMap.Peers at runtime (UpdateStatus no longer uses
it now). And remove another copy of NodeView in the LocalBackend
nodeByAddr map. Change that to point into b.peers instead.

Future changes will then start streaming whole-node-granularity peer
change updates to WatchIPNBus clients, tracking statefully per client
what each has seen. This will get the GUI clients from receiving less
of a JSON storm of updates all the time.

Updates #1909

Change-Id: I14a976ca9f493bdf02ba7e6e05217363dcf422e5
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1 year ago
..
ipnauth all: update copyright and license headers 2 years ago
ipnlocal ipn/ipnlocal: keep internal map updated of latest Nodes post mutations 1 year ago
ipnserver logpolicy, various: allow overriding log function 1 year ago
ipnstate ipn/{ipnlocal,ipnstate}: start simplifying UpdateStatus/StatusBuilder 1 year ago
localapi ipn/ipnlocal: fix missing controlknobs.Knobs plumbing 1 year ago
policy ipn: prefer allow/denylist terminology 2 years ago
store cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 1 year ago
backend.go ipn, ipn/ipnlocal: add session identifier for WatchIPNBus 1 year ago
doc.go all: update copyright and license headers 2 years ago
fake_test.go all: update copyright and license headers 2 years ago
ipn_clone.go cmd/tailscale/cli: use optimistic concurrency control on SetServeConfig 1 year ago
ipn_view.go cmd/tailscale/cli: use optimistic concurrency control on SetServeConfig 1 year ago
prefs.go cmd/tailscale,ipn: add auto-update flags and prefs (#8861) 1 year ago
prefs_test.go cmd/tailscale,ipn: add auto-update flags and prefs (#8861) 1 year ago
serve.go cmd/tailscale/cli: use optimistic concurrency control on SetServeConfig 1 year ago
serve_test.go tailscale/cli: add interactive flow for enabling Funnel 1 year ago
store.go ipn: avoid useless no-op WriteState calls 1 year ago
store_test.go ipn: avoid useless no-op WriteState calls 1 year ago