tailscale/wgengine
James Tucker f4aad61e67 wgengine/monitor: ignore duplicate RTM_NEWADDRs
Ignoring the events at this layer is the simpler path for right now, a
broader change should follow to suppress irrelevant change events in a
higher layer so as to avoid related problems with other monitoring paths
on other platforms.  This approach may also carry a small risk that it
applies an at-most-once invariant low in the chain that could be assumed
otherwise higher in the code.

I adjusted the newAddrMessage type to include interface index rather
than a label, as labels are not always supplied, and in particular on my
test hosts they were consistently missing for ipv6 address messages.

I adjusted the newAddrMessage.Addr field to be populated from
Attributes.Address rather than Attributes.Local, as again for ipv6
.Local was always empty, and with ipv4 the .Address and .Local contained
the same contents in each of my test environments.

Update #4282

Signed-off-by: James Tucker <james@tailscale.com>
2022-04-11 14:35:19 -07:00
..
bench types/netmap: use key.NodePublic instead of tailcfg.NodeKey. 2021-11-01 17:07:40 -07:00
filter all: use strings.Cut even more 2022-03-19 13:02:38 -07:00
magicsock all: use strings.Cut even more 2022-03-19 13:02:38 -07:00
monitor wgengine/monitor: ignore duplicate RTM_NEWADDRs 2022-04-11 14:35:19 -07:00
netstack wgengine/netstack: disable refsvfs2 leak tracking (#4378) 2022-04-07 17:21:45 -07:00
router all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
wgcfg all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
wglog all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
winnet all: gofmt -w -s (simplify) tests 2021-12-15 08:43:41 -08:00
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
pendopen.go envknob: add new package for all the strconv.ParseBool(os.Getenv(..)) 2022-01-24 11:51:23 -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 all: gofmt -w -s (simplify) tests 2021-12-15 08:43:41 -08:00
userspace.go net/dns, net/dns/resolver, wgengine: refactor DNS request path (#4364) 2022-04-08 12:17:31 -07:00
watchdog_test.go all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
watchdog.go all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
wgengine.go ipn/ipnlocal: do not process old status messages received out of order 2022-03-26 20:23:50 -07:00