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/router
Mihai Parparita 2b4140ee46 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>
(cherry picked from commit 06aa141632)
4 years ago
..
callback.go wgengine/router: avoid unncessary routing configuration changes 4 years ago
ifconfig_windows.go wgengine/router: delete hardcoded link-local address on Windows (#4740) 4 years ago
ifconfig_windows_test.go wgengine/router: delete hardcoded link-local address on Windows (#4740) 4 years ago
router.go wgengine/router: avoid unncessary routing configuration changes 4 years ago
router_darwin.go wgengine/router: take a link monitor 5 years ago
router_default.go all: fix some js/wasm compilation issues 4 years ago
router_fake.go wgengine: pass in an explicit router.Router, rather than a generator. 5 years ago
router_freebsd.go wgengine/router: take a link monitor 5 years ago
router_linux.go Revert "wgengine/router,util/kmod: load & log xt_mark" 4 years ago
router_linux_test.go wgengine/router: demote TestDebugListRules fail to skip 4 years ago
router_openbsd.go wgengine/router: take a link monitor 5 years ago
router_test.go wgengine/router: avoid unncessary routing configuration changes 4 years ago
router_userspace_bsd.go all: gofmt with Go 1.17 5 years ago
router_windows.go all: use any instead of interface{} 4 years ago
runner.go wgengine/router: ignore Linux ip route error adding dup route 4 years ago