tailscale/net
Brad Fitzpatrick fee74e7ea7 net/interfaces, wgengine/monitor: fix false positives link changes
interfaces.State.String tries to print a concise summary of the
network state, removing any interfaces that don't have any or any
interesting IP addresses. On macOS and iOS, for instance, there are a
ton of misc things.

But the link monitor based its are-there-changes decision on
interfaces.State.Equal, which just used reflect.DeepEqual, including
comparing all the boring interfaces. On macOS, when turning wifi on or off, there
are a ton of misc boring interface changes, resulting in hitting an earlier
check I'd added on suspicion this was happening:

    [unexpected] network state changed, but stringification didn't

This fixes that by instead adding a new
interfaces.State.RemoveUninterestingInterfacesAndAddresses method that
does, uh, that. Then use that in the monitor. So then when Equal is
used later, it's DeepEqualing the already-cleaned version with only
interesting interfaces.

This makes cmd/tailscaled debug --monitor much less noisy.

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-08 20:46:39 -08:00
..
dnscache control/controlclient, net/{dnscache,dnsfallback}: add DNS fallback mechanism 2021-03-01 18:42:03 -08:00
dnsfallback net/dnsfallback: fix infinite loop and limit number of candidates 2021-03-04 19:19:40 -08:00
flowtrack net/flowtrack: add Tuple.String method 2021-01-11 22:09:09 -08:00
interfaces net/interfaces, wgengine/monitor: fix false positives link changes 2021-03-08 20:46:39 -08:00
netcheck net/portmapper: add NAT-PMP client, move port mapping service probing 2021-02-23 09:07:38 -08:00
netns net/{interfaces,netns}: add some new tests, missed from prior commit 2021-02-14 21:18:27 -08:00
netstat net/netstat: remove a bit more unsafe 2020-11-17 13:49:24 -08:00
nettest net/nettest: de-flake tests on Windows 2021-01-15 18:21:56 -08:00
packet net/packet: add some more TSMP packet reject reasons and MaybeBroken bit 2021-02-04 10:59:07 -08:00
portmapper net/portmapper: fix typo 2021-03-02 12:26:54 -08:00
socks5 cmd/tailscaled, wgengine: remove --fake, replace with netstack 2021-03-01 11:09:19 -08:00
stun tstest/natlab: use net.ErrClosed instead of a new error 2021-02-05 13:44:46 -08:00
tlsdial net/tlsdial, derp/derphttp: finish DERPNode.CertName validation 2020-06-01 09:01:37 -07:00
tsaddr wgengine/router: add a dummy IPv6 address if needed for default routing. 2021-03-02 19:32:04 -08:00
tshttpproxy net/tshttpproxy: call winhttp calls from a fixed OS thread 2021-03-03 19:16:04 -08:00