diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-11-06 13:50:38 +0100 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-11-06 13:50:38 +0100 |
commit | 293914e47b046f862608a1af91864b6b38336aa5 (patch) | |
tree | c6851f4c0e8cd38efdcbc2aa6999395f67f1e555 /src/wireguard/wireguard.rs | |
parent | Work on Up/Down operation on WireGuard device (diff) | |
download | wireguard-rs-293914e47b046f862608a1af91864b6b38336aa5.tar.xz wireguard-rs-293914e47b046f862608a1af91864b6b38336aa5.zip |
Implement disable/enable timers
Diffstat (limited to '')
-rw-r--r-- | src/wireguard/wireguard.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wireguard/wireguard.rs b/src/wireguard/wireguard.rs index 722f64a..6da428c 100644 --- a/src/wireguard/wireguard.rs +++ b/src/wireguard/wireguard.rs @@ -130,6 +130,9 @@ impl<T: Tun, B: Bind> Wireguard<T, B> { // ensure exclusive access (to avoid race with "up" call) let peers = self.peers.write(); + // avoid tranmission from router + self.router.down(); + // set all peers down (stops timers) for peer in peers.values() { peer.down(); @@ -142,6 +145,9 @@ impl<T: Tun, B: Bind> Wireguard<T, B> { // ensure exclusive access (to avoid race with "down" call) let peers = self.peers.write(); + // enable tranmission from router + self.router.up(); + // set all peers up (restarts timers) for peer in peers.values() { peer.up(); @@ -215,7 +221,6 @@ impl<T: Tun, B: Bind> Wireguard<T, B> { last_handshake_sent: Mutex::new(self.state.start - TIME_HORIZON), handshake_queued: AtomicBool::new(false), queue: Mutex::new(self.state.queue.lock().clone()), - keepalive_interval: AtomicU64::new(0), // disabled rx_bytes: AtomicU64::new(0), tx_bytes: AtomicU64::new(0), timers: RwLock::new(Timers::dummy(&self.runner)), |