Cubic keeps pushing until packets drop, which stands queues up in the path on fast links. BBR paces to its estimate of bottleneck bandwidth and minimum RTT instead, cutting queueing latency while keeping throughput. fq is the qdisc BBR is built to pace through. tcp_bbr and sch_fq are modules in every kernel Omarchy ships and autoload when the sysctls are set. The migration re-applies the shipped file so new connections switch without a reboot, no-ops once the live values match, and flags a reboot if applying fails. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
12 lines
523 B
Bash
12 lines
523 B
Bash
echo "Switch TCP congestion control to BBR with fq pacing"
|
|
|
|
# Boot applies the shipped file regardless; this only makes new connections
|
|
# use BBR now. Setting the sysctls autoloads tcp_bbr and sch_fq. Qdiscs
|
|
# already attached to interfaces stay until they are recreated, normally at
|
|
# reboot.
|
|
if [[ $(sysctl -n net.ipv4.tcp_congestion_control) == "bbr" && $(sysctl -n net.core.default_qdisc) == "fq" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
sudo sysctl -p /etc/sysctl.d/99-omarchy-sysctl.conf >/dev/null || omarchy-state set reboot-required
|