summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2023-02-28 16:30:36 +0100
committerLinus Färnstrand <linus@mullvad.net>2023-02-28 16:30:36 +0100
commitcf4884f2a3e946abb0d420b27c4df8ad7a0d1977 (patch)
treeb5fe7105d768528e8f26ffe2b519997b0b1ae64b
parentc3825cade57944600cebe16d6567674cc050082f (diff)
parente8e669037770f1eef62b5867ec15ecf9bcbd7840 (diff)
downloadmullvadvpn-cf4884f2a3e946abb0d420b27c4df8ad7a0d1977.tar.xz
mullvadvpn-cf4884f2a3e946abb0d420b27c4df8ad7a0d1977.zip
Merge branch 'upgrade-udp-over-tcp-nodelay'
-rw-r--r--CHANGELOG.md1
-rw-r--r--Cargo.lock4
-rw-r--r--tunnel-obfuscation/Cargo.toml2
-rw-r--r--tunnel-obfuscation/src/udp2tcp.rs2
4 files changed, 6 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 696f1435a7..148e65b012 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -29,6 +29,7 @@ Line wrap the file at 100 chars. Th
- Add notification dot to tray icon and system notification throttling.
- Add troubleshooting information to some in-app notifications.
- Add setting for quantum resistant tunnels to the desktop GUI.
+- Enable `TCP_NODELAY` for the socket used by WireGuard over TCP. Improves latency and performance.
### Changed
- Update the Post-Quantum secure key exchange gRPC client to use the stabilized
diff --git a/Cargo.lock b/Cargo.lock
index f058410aea..fc4d91dede 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3934,8 +3934,8 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
[[package]]
name = "udp-over-tcp"
-version = "0.2.0"
-source = "git+https://github.com/mullvad/udp-over-tcp?rev=4d52f93cd9962562cb52d66e36771d5f5c70e25a#4d52f93cd9962562cb52d66e36771d5f5c70e25a"
+version = "0.3.0"
+source = "git+https://github.com/mullvad/udp-over-tcp?rev=87936ac29b68b902565955f138ab02294bcc8593#87936ac29b68b902565955f138ab02294bcc8593"
dependencies = [
"err-context",
"futures",
diff --git a/tunnel-obfuscation/Cargo.toml b/tunnel-obfuscation/Cargo.toml
index 0fd4453a87..71986379cf 100644
--- a/tunnel-obfuscation/Cargo.toml
+++ b/tunnel-obfuscation/Cargo.toml
@@ -12,4 +12,4 @@ async-trait = "0.1"
err-derive = "0.3.0"
futures = "0.3.5"
tokio = { version = "1.8", features = ["rt-multi-thread", "macros", "net", "io-util"] }
-udp-over-tcp = { git = "https://github.com/mullvad/udp-over-tcp", rev = "4d52f93cd9962562cb52d66e36771d5f5c70e25a" }
+udp-over-tcp = { git = "https://github.com/mullvad/udp-over-tcp", rev = "87936ac29b68b902565955f138ab02294bcc8593" }
diff --git a/tunnel-obfuscation/src/udp2tcp.rs b/tunnel-obfuscation/src/udp2tcp.rs
index 386236b446..0eada9b928 100644
--- a/tunnel-obfuscation/src/udp2tcp.rs
+++ b/tunnel-obfuscation/src/udp2tcp.rs
@@ -49,6 +49,8 @@ impl Udp2Tcp {
TcpOptions {
#[cfg(target_os = "linux")]
fwmark: settings.fwmark,
+ // Disables the Nagle algorithm on the TCP socket. Improves performance
+ nodelay: true,
..TcpOptions::default()
},
)