aboutsummaryrefslogtreecommitdiffstats
path: root/src/wireguard/mod.rs
blob: 5310e960ee8c9f4d0d5f00e15a5dd23e93d358c6 (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
31
32
33
34
35
36
/* 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 peer
pub use peer::Peer;

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

#[cfg(test)]
pub use types::dummy_keypair;

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

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