tailscale/wgengine
David Anderson 2d604b3791 net/packet: represent IP6 as two uint64s.
For the operations we perform on these types (mostly net6.Contains),
this encoding is much faster.

Part of #19.

name                   old time/op    new time/op    delta
Filter/icmp4-8           27.5ns ± 1%    28.0ns ± 2%   +1.89%  (p=0.016 n=5+5)
Filter/tcp4_syn_in-8     38.8ns ± 2%    38.3ns ± 1%   -1.24%  (p=0.024 n=5+5)
Filter/tcp4_syn_out-8    27.6ns ±12%    24.6ns ± 1%     ~     (p=0.063 n=5+5)
Filter/udp4_in-8         71.5ns ± 5%    65.9ns ± 1%   -7.94%  (p=0.008 n=5+5)
Filter/udp4_out-8         132ns ±13%     119ns ± 1%  -10.29%  (p=0.008 n=5+5)
Filter/icmp6-8            169ns ±10%      54ns ± 1%  -68.35%  (p=0.008 n=5+5)
Filter/tcp6_syn_in-8      149ns ± 6%      43ns ± 1%  -71.11%  (p=0.008 n=5+5)
Filter/tcp6_syn_out-8    37.7ns ± 4%    24.3ns ± 3%  -35.51%  (p=0.008 n=5+5)
Filter/udp6_in-8          179ns ± 5%     103ns ± 1%  -42.75%  (p=0.008 n=5+5)
Filter/udp6_out-8         156ns ± 3%     191ns ± 1%  +22.54%  (p=0.008 n=5+5)

Signed-off-by: David Anderson <danderson@tailscale.com>
2020-11-12 21:41:21 -08:00
..
filter net/packet: represent IP6 as two uint64s. 2020-11-12 21:41:21 -08:00
magicsock wgengine/magicsock: quiet an IPv6 warning in tests 2020-11-10 09:14:29 -08:00
monitor wgengine/monitor: fix copy/paste-o to actually monitor route changes 2020-10-09 09:04:26 -07:00
router wgengine/router: disable IPv6 if v6 policy routing is unavailable. 2020-11-11 15:31:15 -08:00
tsdns ipn, wgengine, magicsock, tsdns: be quieter and less aggressive when offline 2020-10-06 15:26:53 -07:00
tstun net/packet: add IPv6 source and destination IPs to Parsed. 2020-11-10 20:23:54 -08:00
winnet Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
userspace_test.go wgengine: fix lazy wireguard config bug when disco keys change 2020-10-13 12:10:51 -07:00
userspace.go all: prepare for GOOS=ios in Go 1.16 2020-11-11 09:17:04 -08:00
watchdog_test.go wgengine: prevent log after exit in watchdog test 2020-07-03 10:52:39 -07:00
watchdog.go wgengine: add Engine.SetLinkChangeCallback 2020-08-27 21:25:17 -07:00
wgengine.go ipn, wgengine: disable subnet routes if network has PAC configuration 2020-10-05 21:04:23 -07:00