summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--talpid-wireguard/src/lib.rs35
1 files changed, 12 insertions, 23 deletions
diff --git a/talpid-wireguard/src/lib.rs b/talpid-wireguard/src/lib.rs
index 1b6c4746cb..c3f5e29987 100644
--- a/talpid-wireguard/src/lib.rs
+++ b/talpid-wireguard/src/lib.rs
@@ -707,39 +707,28 @@ impl WireguardMonitor {
.map(Box::new)?;
Ok(tunnel)
} else {
- log::debug!("Using kernel WireGuard implementation");
{
let res: Option<TunnelType> = if will_nm_manage_dns() {
+ log::debug!("Using NetworkManager to use kernel WireGuard implementation");
match wireguard_kernel::NetworkManagerTunnel::new(runtime.clone(), config) {
- Ok(tunnel) => {
- log::debug!(
- "Using NetworkManager to use kernel WireGuard implementation"
- );
- Some(Box::new(tunnel))
- }
+ Ok(tunnel) => Some(Box::new(tunnel)),
Err(err) => {
- log::error!(
- "{}",
- err.display_chain_with_msg(
- "Failed to initialize WireGuard tunnel via NetworkManager"
- )
+ let err = err.display_chain_with_msg(
+ "Failed to initialize WireGuard tunnel via NetworkManager",
);
+ log::error!("{err}");
None
}
}
} else {
+ log::debug!("Using kernel WireGuard implementation through NetlinkTunnel");
match wireguard_kernel::NetlinkTunnel::new(runtime.clone(), config) {
- Ok(tunnel) => {
- log::debug!("Using kernel WireGuard implementation");
- Some(Box::new(tunnel))
- }
- Err(error) => {
- log::error!(
- "{}",
- error.display_chain_with_msg(
- "Failed to setup kernel WireGuard device, falling back to the userspace implementation"
- )
- );
+ Ok(tunnel) => Some(Box::new(tunnel)),
+ Err(err) => {
+ let err = err
+ .display_chain_with_msg("Failed to setup kernel WireGuard device");
+
+ log::error!("{err}");
None
}
}