aboutsummaryrefslogtreecommitdiffstats
path: root/src/wireguard/mod.rs
blob: ca17737d10b50bb2418392fa6c2ba9983ab47fb1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* The wireguard sub-module represents a full, pure, WireGuard implementation:
 *
 * The WireGuard device described here does not depend on particular IO implementations
 * or UAPI, and can be instantiated in unit-tests with the dummy IO implementation.
 *
 * The code at this level serves to "glue" the handshake state-machine
 * and the crypto-key router code together,
 * e.g. every WireGuard peer consists of a handshake and router peer.
 */
mod constants;
mod handshake;
mod peer;
mod queue;
mod router;
mod timers;
mod types;
mod wireguard;
mod workers;

#[cfg(test)]
mod tests;

// represents a WireGuard interface
pub use wireguard::WireGuard;

#[cfg(test)]
use super::platform::dummy;

use super::platform::{tun, udp, Endpoint};
use types::KeyPair;