HEADS UP: TCP CUBIC Broken on 12.0-RELEASE/STABLE

Matt Garber matt.garber at gmail.com
Sun Dec 16 20:12:35 UTC 2018


On Sun, Dec 16, 2018 at 11:44 AM Kurt Jaeger <pi at freebsd.org> wrote:

> Will CUBIC be used if the system is running 12.0, or does it only happen
> if one actively configures the use of the algorithm ?
>
> Can the use be detected somehow ?
>

This only happens if someone explicitly configured the use of the alternate
CC: by setting "cc_cubic_load=YES" in loader.conf{.local}, and setting
"net.inet.tcp.cc.algorithm=cubic" in sysctl.conf. These values deviate from
the default FreeBSD use of newreno, so they must have been set by the admin
at some point, either in a previous release that's been upgraded over time
(like my original discovery), or on a fresh 12.0-RELEASE/STABLE box using
some kind of configuration control or manual setup.

Simplistic instructions to check on a running system could use `sysctl
net.inet.tcp.cc.algorithm` and check that return value for 'cubic'; if it
returns 'newreno', it's the default, and if it returns something else
(e.g., 'htcp') they're also unaffected in this particular case. If they are
using cubic, it should either be changed in loader.conf{.local} and
sysctl.conf back to newreno or another CC prior to upgrading to
12.0-RELEASE/STABLE, or they should wait until the Errata Notice is
hopefully released with the reverted change. Otherwise they'll encounter
the same network connection stalls and problems.

--
Thanks,
-Matt Garber


More information about the freebsd-stable mailing list