diff --git a/talpid-wireguard/src/wireguard_go/mod.rs b/talpid-wireguard/src/wireguard_go/mod.rs index 418462e7d1c9..2bfd8ef9877d 100644 --- a/talpid-wireguard/src/wireguard_go/mod.rs +++ b/talpid-wireguard/src/wireguard_go/mod.rs @@ -137,11 +137,16 @@ impl WgGoTunnel { } WgGoTunnel::Singlehop(mut state) => { state.set_config(config.clone())?; - Ok(WgGoTunnel::Singlehop(state)) + // HACK: Check if the tunnel is working by sending a ping in the tunnel. + let new_state = WgGoTunnel::Singlehop(state); + new_state.ensure_tunnel_is_running().await?; + Ok(new_state) } WgGoTunnel::Multihop(mut state) => { state.set_config(config.clone())?; - Ok(WgGoTunnel::Multihop(state)) + let new_state = WgGoTunnel::Multihop(state); + new_state.ensure_tunnel_is_running().await?; + Ok(new_state) } } }