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
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>
3 years ago
..
bench types/netmap: use key.NodePublic instead of tailcfg.NodeKey. 3 years ago
filter all: use testingutil.MinAllocsPerRun 3 years ago
magicsock net/netns: thread logf into control functions 3 years ago
monitor wgengine/monitor: ignore adding/removing uninteresting IPs 3 years ago
netstack go.mod: bump inet.af/netstack 3 years ago
router wgengine/router: demote TestDebugListRules fail to skip 3 years ago
wgcfg wgengine/wgcfg: recover from mismatched PublicKey/Endpoints 3 years ago
wglog wgengine/wgcfg: convert to use new node key type. 3 years ago
winnet wgengine/winnet: don't build on non-windows 4 years ago
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 4 years ago
pendopen.go tailcfg: use key.NodePublic in wire protocol types. 3 years ago
userspace.go wgengine{,/router}: annotate some more errors 3 years ago
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 4 years ago
userspace_test.go tailcfg: use key.NodePublic in wire protocol types. 3 years ago
watchdog.go all: replace tailcfg.DiscoKey with key.DiscoPublic. 3 years ago
watchdog_test.go all: close fake userspace engines when tests complete 3 years ago
wgengine.go all: replace tailcfg.DiscoKey with key.DiscoPublic. 3 years ago