From f228b6f98b141940a3302d4cd1978f56f5edb13e Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Mon, 25 Nov 2019 13:33:00 +0100 Subject: Enable up/down from configuration interface --- src/wireguard/wireguard.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/wireguard/wireguard.rs') diff --git a/src/wireguard/wireguard.rs b/src/wireguard/wireguard.rs index 41f6857..61f6428 100644 --- a/src/wireguard/wireguard.rs +++ b/src/wireguard/wireguard.rs @@ -147,6 +147,9 @@ impl Wireguard { // ensure exclusive access (to avoid race with "up" call) let peers = self.peers.write(); + // set mtu + self.state.mtu.store(0, Ordering::Relaxed); + // avoid tranmission from router self.router.down(); @@ -158,10 +161,13 @@ impl Wireguard { /// Brings the WireGuard device up. /// Usually called when the associated interface is brought up. - pub fn up(&self) { + pub fn up(&self, mtu: usize) { // ensure exclusive access (to avoid race with "down" call) let peers = self.peers.write(); + // set mtu + self.state.mtu.store(mtu, Ordering::Relaxed); + // enable tranmission from router self.router.up(); @@ -338,10 +344,6 @@ impl Wireguard { }); } - pub fn set_mtu(&self, mtu: usize) { - self.mtu.store(mtu, Ordering::Relaxed); - } - pub fn set_writer(&self, writer: B::Writer) { // TODO: Consider unifying these and avoid Clone requirement on writer *self.state.send.write() = Some(writer.clone()); -- cgit v1.2.3-59-g8ed1b