Repository navigation
Releases: HyNetworks/tcp-brutal
Releases · HyNetworks/tcp-brutal
Release list
v2.0.1
Bug fixes for XanMod and other patched kernels, plus install script fixes.
Fixes
- BBRv3 kernels (XanMod and others) are now supported. They replace the
min_tso_segshook withtso_segs, which broke the build; the build now detects which one the headers provide. (#41) - Clang-built kernels are built with
LLVM=1automatically, and the install script installs clang, lld and llvm when needed. (#41) - brutalctl is no longer silently skipped on systems with only a versioned compiler such as
gcc-14(e.g. Debian 13). The install script uses any available compiler, or installsgcc. (#44) - The install script installs the C library headers before building brutalctl, and no longer aborts when
tputhas no terminal.
Upgrading
bash <(curl -fsSL https://tcp.hy2.sh/)v2.0.0
Starting with v2, TCP Brutal no longer needs support from the application. Set a rate for a destination once and every connection to it uses Brutal: any program, any TCP-based protocol.
Highlights
- Destination rules.
brutalctl add 203.0.113.5/32 100makes all connections to that address share 100 Mbps, from whatever program sends them.brutalctlwrites the rule to/proc/net/tcp_brutal/rulesand installs the route that selects brutal for the prefix. Rules are locked by default so applications cannot override them; usenolockto allow it. - Groups. Connections in a group share one rate as their total instead of each getting its own. A lone active connection gets all of it; several share it dynamically. Applications join a group by setting
group_idinTCP_BRUTAL_PARAMS(the 12-byte v1 struct without it is still accepted). - New getsockopts.
TCP_BRUTAL_PARAMScan be read back, andTCP_BRUTAL_VERSION(23302) returns the module version so applications can check for v2. - Tooling. The install script and the NixOS flake now also install
brutalctl. The example speed test was rewritten for groups.
Requirements
Linux 5.10 or later. On an older kernel the install script stops without installing anything and explains how to get the last v1 release instead. v1 keeps working as before but gets no new features; its code is kept on the v1 branch.
Upgrading
Run the install script again:
bash <(curl -fsSL https://tcp.hy2.sh/)See the README for the quick start and the developer notes.
v1.0.3
v1.0.2
v1.0.1
v1.0.0
fix: compatibility with older (before 5.8) kernels