tailscale/wgengine
Josh Bleecher Snyder ad5e04249b wgengine/monitor: ignore adding/removing uninteresting IPs
One of the most common "unexpected" log lines is:

"network state changed, but stringification didn't"

One way that this can occur is if an interesting interface
(non-Tailscale, has interesting IP address)
gains or loses an uninteresting IP address (link local or loopback).

The fact that the interface is interesting is enough for EqualFiltered
to inspect it. The fact that an IP address changed is enough for
EqualFiltered to declare that the interfaces are not equal.

But the State.String method reasonably declines to print any
uninteresting IP addresses. As a result, the network state appears
to have changed, but the stringification did not.

The String method is correct; nothing interesting happened.

This change fixes this by adding an IP address filter to EqualFiltered
in addition to the interface filter. This lets the network monitor
ignore the addition/removal of uninteresting IP addresses.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-11-22 16:33:15 -08:00
..
bench types/netmap: use key.NodePublic instead of tailcfg.NodeKey. 2021-11-01 17:07:40 -07:00
filter all: use testingutil.MinAllocsPerRun 2021-10-28 12:48:37 -07:00
magicsock net/netns: thread logf into control functions 2021-11-18 15:09:51 -08:00
monitor wgengine/monitor: ignore adding/removing uninteresting IPs 2021-11-22 16:33:15 -08:00
netstack go.mod: bump inet.af/netstack 2021-11-21 09:18:31 -08:00
router wgengine/router: demote TestDebugListRules fail to skip 2021-11-22 11:04:45 -08:00
wgcfg wgengine/wgcfg: recover from mismatched PublicKey/Endpoints 2021-11-18 14:28:41 -08:00
wglog wgengine/wgcfg: convert to use new node key type. 2021-10-28 09:39:23 -07:00
winnet wgengine/winnet: don't build on non-windows 2021-02-09 21:09:24 -08:00
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
pendopen.go tailcfg: use key.NodePublic in wire protocol types. 2021-11-02 09:11:43 -07:00
userspace.go wgengine{,/router}: annotate some more errors 2021-11-19 10:46:01 -08:00
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
userspace_test.go tailcfg: use key.NodePublic in wire protocol types. 2021-11-02 09:11:43 -07:00
watchdog.go all: replace tailcfg.DiscoKey with key.DiscoPublic. 2021-11-03 14:00:16 -07:00
watchdog_test.go all: close fake userspace engines when tests complete 2021-09-15 15:31:51 -07:00
wgengine.go all: replace tailcfg.DiscoKey with key.DiscoPublic. 2021-11-03 14:00:16 -07:00