wireguard-go/device
Josh Bleecher Snyder 6252de0db9 device: split IpcSetOperation into parts
The goal of this change is to make the structure
of IpcSetOperation easier to follow.

IpcSetOperation contains a small state machine:
It starts by configuring the device,
then shifts to configuring one peer at a time.

Having the code all in one giant method obscured that structure.
Split out the parts into helper functions and encapsulate the peer state.

This makes the overall structure more apparent.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-01-25 09:09:24 -08:00
..
allowedips_rand_test.go all: use ++ to increment 2021-01-07 14:49:44 +01:00
allowedips_test.go device: remove unused trie test code 2021-01-20 20:03:40 +01:00
allowedips.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
bind_test.go device: remove unused fields from DummyDatagram and DummyBind 2021-01-20 20:03:40 +01:00
constants.go replay: account for fqcodel reordering 2020-05-19 17:46:35 -06:00
cookie_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
cookie.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
device_test.go device: add latency and throughput benchmarks 2021-01-07 14:49:44 +01:00
device.go device: remove unnecessary zeroing 2021-01-20 19:57:07 +01:00
endpoint_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
indextable.go device: remove some unnecessary unsafe 2020-07-15 06:59:44 +10:00
ip.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
kdf_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
keypair.go device: fix races from changing private_key 2021-01-07 14:49:44 +01:00
logger.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
misc.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
mobilequirks.go device: format a few things 2020-11-06 18:01:27 +01:00
noise_test.go device: check returned errors from NewPeer in TestNoiseHandshake 2021-01-20 19:57:01 +01:00
noise-helpers.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
noise-protocol.go device: fix races from changing private_key 2021-01-07 14:49:44 +01:00
noise-types.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
peer_test.go device: avoid copying lock in tests 2020-12-08 14:25:10 -08:00
peer.go device: remove unnecessary zeroing 2021-01-07 14:49:44 +01:00
pools.go all: use ++ to increment 2021-01-07 14:49:44 +01:00
queueconstants_android.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
queueconstants_default.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
queueconstants_ios.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
receive.go device: allow compiling with Go 1.15 2021-01-20 20:12:32 +01:00
send.go device: remove QueueOutboundElement.dropped 2021-01-20 19:57:05 +01:00
sticky_default.go device: do not include sticky sockets on android 2020-06-07 01:50:20 -06:00
sticky_linux.go device: use RTMGRP_IPV4_ROUTE to specify multicast groups mask 2020-07-13 17:58:10 -06:00
timers.go device: fix data race in peer.timersActive 2021-01-07 14:49:44 +01:00
tun_test.go global: update header comments and modules 2020-05-02 02:08:26 -06:00
tun.go device: remove starting waitgroups 2021-01-07 14:49:44 +01:00
uapi.go device: split IpcSetOperation into parts 2021-01-25 09:09:24 -08:00
version.go version: bump snapshot 2020-11-18 14:24:17 +01:00