summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-06-14 13:39:11 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-06-17 13:16:50 +0200
commit02cb9ca9e687d0b3fe95298e29d5e313c4dac88c (patch)
treeb0fe68b807614071d2ad87bf44dc0381ad65b990
parent0b2fd4ffbb883cefcfb5abfbfc72fd141583439e (diff)
downloadmullvadvpn-02cb9ca9e687d0b3fe95298e29d5e313c4dac88c.tar.xz
mullvadvpn-02cb9ca9e687d0b3fe95298e29d5e313c4dac88c.zip
Enable nonblocking flag on BPF devices
-rw-r--r--talpid-core/src/split_tunnel/macos/tun.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/talpid-core/src/split_tunnel/macos/tun.rs b/talpid-core/src/split_tunnel/macos/tun.rs
index acb2746b1a..7236f81ed4 100644
--- a/talpid-core/src/split_tunnel/macos/tun.rs
+++ b/talpid-core/src/split_tunnel/macos/tun.rs
@@ -286,6 +286,9 @@ fn open_default_bpf(
default_dev
.set_see_sent(false)
.map_err(Error::ConfigDefaultBpf)?;
+ default_dev
+ .set_nonblocking(true)
+ .map_err(Error::ConfigDefaultBpf)?;
// Split the default device BPF handle into a read and write half
let (default_read, default_write) = default_dev.split().map_err(Error::ConfigDefaultBpf)?;
@@ -412,6 +415,7 @@ fn open_vpn_bpf(vpn_interface: &VpnInterface) -> Result<bpf::Bpf, Error> {
.map_err(Error::ConfigVpnBpf)?;
vpn_dev.set_immediate(true).map_err(Error::ConfigVpnBpf)?;
vpn_dev.set_see_sent(false).map_err(Error::ConfigVpnBpf)?;
+ vpn_dev.set_nonblocking(true).map_err(Error::ConfigVpnBpf)?;
Ok(vpn_dev)
}