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
Mihai Parparita 06aa141632 wgengine/router: avoid unncessary routing configuration changes
The iOS and macOS networking extension API only exposes a single setter
for the entire routing and DNS configuration, and does not appear to
do any kind of diffing or deltas when applying changes. This results
in spurious "network changed" errors in Chrome, even when the
`OneCGNATRoute` flag from df9ce972c7 is
used (because we're setting the same configuration repeatedly).

Since we already keep track of the current routing and DNS configuration
in CallbackRouter, use that to detect if they're actually changing, and
only invoke the platform setter if it's actually necessary.

Updates #3102

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2 years ago
..
bench types/netmap: use key.NodePublic instead of tailcfg.NodeKey. 3 years ago
filter wgengine/filter: preallocate some hot slices in MatchesFromFilterRules (#4672) 2 years ago
magicsock wasm: exclude code that's not used on iOS for Wasm too 2 years ago
monitor wgengine/monitor: do not ignore changes to pdp_ip* 2 years ago
netstack wgengine/netstack: close ipstack when netstack.Impl is closed 2 years ago
router wgengine/router: avoid unncessary routing configuration changes 2 years ago
wgcfg cmd/cloner,util/codegen: refactor cloner internals to allow reuse 2 years ago
wglog all: use any instead of interface{} 2 years ago
winnet all: gofmt all 2 years ago
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 3 years ago
pendopen.go *: use WireGuard where logged, printed or named 2 years ago
userspace.go net/tstun, wgengine: use correct type for counter metrics 2 years ago
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 3 years ago
userspace_test.go all: gofmt -w -s (simplify) tests 2 years ago
watchdog.go wasm: drop pprof dependency 2 years ago
watchdog_js.go wasm: drop pprof dependency 2 years ago
watchdog_test.go all: use any instead of interface{} 2 years ago
wgengine.go wgengine, net/packet, cmd/tailscale: add ICMP echo 2 years ago