tailscale/wgengine
Brad Fitzpatrick 7f174e84e6 net/interfaces: remove mutating methods, add EqualFiltered instead
Now callers (wgengine/monitor) don't need to mutate the state to remove
boring interfaces before calling State.Equal. Instead, the methods
to remove boring interfaces from the State are removed, as is
the reflect-using Equal method itself, and in their place is
a new EqualFiltered method that takes a func predicate to match
interfaces to compare.

And then the FilterInteresting predicate is added for use
with EqualFiltered to do the job that that wgengine/monitor
previously wanted.

Now wgengine/monitor can keep the full interface state around,
including the "boring" interfaces, which we'll need for peerapi on
macOS/iOS to bind to the interface index of the utunN device.

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-26 09:11:48 -07:00
..
filter net/packet, wgengine/{filter,tstun}: add TSMP ping 2021-03-24 09:50:01 -07:00
magicsock ipn/ipnlocal: start of peerapi between nodes 2021-03-25 16:00:35 -07:00
monitor net/interfaces: remove mutating methods, add EqualFiltered instead 2021-03-26 09:11:48 -07:00
netstack all: s/Magic DNS/MagicDNS/ for consistency 2021-03-23 14:25:28 -07:00
router many: gofmt. 2021-03-25 17:41:51 -07:00
tstun net/packet, wgengine/{filter,tstun}: add TSMP ping 2021-03-24 09:50:01 -07:00
wgcfg wgengine: pass logger as a separate arg to device.NewDevice 2021-03-24 10:39:58 -07:00
wglog wgengine/wglog: drop 1/s "interface is up" messages. 2021-02-23 09:01:58 -08:00
winnet wgengine/winnet: don't build on non-windows 2021-02-09 21:09:24 -08:00
ifstatus_noop.go wgengine: make NewUserspaceEngine wait for TUN interface to be up on Windows 2021-02-25 07:58:17 -08:00
ifstatus_windows.go wgengine: make NewUserspaceEngine wait for TUN interface to be up on Windows 2021-02-25 07:58:17 -08:00
pendopen.go wgengine{,/magicsock}: fix, improve "tailscale ping" to default routes and subnets 2021-03-22 21:29:44 -07:00
userspace.go many: gofmt. 2021-03-25 17:41:51 -07:00
userspace_test.go cmd/tailscaled, wgengine: remove --fake, replace with netstack 2021-03-01 11:09:19 -08:00
watchdog.go many: gofmt. 2021-03-25 17:41:51 -07:00
watchdog_test.go cmd/tailscaled, wgengine: remove --fake, replace with netstack 2021-03-01 11:09:19 -08:00
wgengine.go many: gofmt. 2021-03-25 17:41:51 -07:00