From 39b5148808e125e7afa1686146cbe7bb55422c0b Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 24 Apr 2025 04:25:09 -0400 Subject: [PATCH] switch back to CUBIC from BBRv1 and keep ECN off BBRv1 significantly improves throughput in some cases but it also significantly reduces it in others. We've run into too many network conditions it handles quite poorly. There's also a bad interaction between BBR and synproxy where it will cripple the initial throughput for connections established via synproxy. This means a basic SYN flood attack could cripple initial TCP throughput for most connections. Android doesn't enable ECN for outbound connections yet and we don't want to deviate from that so it mainly only gets activated for macOS and iOS clients. Linux kernel approach to ECN hasn't been modernized and there are fierce debates about how it should work. It can cause issues and it seems best to avoid it until Android enables it. --- etc/sysctl.d/local.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/etc/sysctl.d/local.conf b/etc/sysctl.d/local.conf index 5b5e4eb..078b2b1 100644 --- a/etc/sysctl.d/local.conf +++ b/etc/sysctl.d/local.conf @@ -10,10 +10,7 @@ net.ipv6.conf.*.accept_redirects = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.*.rp_filter = 0 -# use BBR and disable ECN since BBRv1 doesn't support it -net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_ecn = 0 - net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_shrink_window = 1 net.ipv4.tcp_notsent_lowat = 131072