Why is BBR marked TCP_CONG_NON_RESTRICTED?

Taran Lynn <[email protected]> Mon, 13 Apr 2020 23:10:11 -0700
Newsgroups gmane.linux.network.routing
Message-ID <[email protected]>
Hi,

I was looking through the congestion control algorithms in net/ipv4. I
noticed that TCP BBR is the only other algorithm besides Reno to be
marked TCP_CONG_NON_RESTRICTED (see net/ipv4/tcp_bbr.c:1141 and
net/ipv4/tcp_cong.c:476). This basically allows BBR to be set for
individual sockets by unprivileged users by default. Normally, control
algorithms need to be manually added to sysctl's
net.ipv4.tcp_allowed_congestion_control by the admin. I'm wondering, why
does BBR get special treatment here? It doesn't seem particularly more
secure to allow this for BBR than for Cubic, Vegas, or any other algorithms.

Best, Taran