WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: How to enable TCP BBR support?  (Read 4023 times)

Offline Jones

  • Newbie
  • *
  • Posts: 3
How to enable TCP BBR support?
« on: June 21, 2020, 08:48:51 AM »
Code: [Select]
$ tce-load -w -i net-sched-5.4.3-tinycore.tcz
$ sudo su
# echo 'cake' > /proc/sys/net/core/default_qdisc
# echo 'bbr' > /proc/sys/net/ipv4/tcp_congestion_control
sh: write error: No such file or directory

No TCP BBR support?

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14872
Re: How to enable TCP BBR support?
« Reply #1 on: June 21, 2020, 09:52:46 AM »
It exists on CorePure64 at least:
Code: [Select]
$ ls /proc/sys/net/ipv4/*congestion*
/proc/sys/net/ipv4/tcp_allowed_congestion_control
/proc/sys/net/ipv4/tcp_available_congestion_control
/proc/sys/net/ipv4/tcp_congestion_control
$ cat /proc/sys/net/ipv4/tcp_available_congestion_control
reno cubic
$ cat /proc/sys/net/ipv4/tcp_allowed_congestion_control
reno cubic
$ cat /proc/sys/net/ipv4/tcp_congestion_control
cubic


Offline Jones

  • Newbie
  • *
  • Posts: 3
Re: How to enable TCP BBR support?
« Reply #2 on: June 21, 2020, 10:03:33 AM »
It exists on CorePure64 at least:
Code: [Select]
$ ls /proc/sys/net/ipv4/*congestion*
/proc/sys/net/ipv4/tcp_allowed_congestion_control
/proc/sys/net/ipv4/tcp_available_congestion_control
/proc/sys/net/ipv4/tcp_congestion_control
$ cat /proc/sys/net/ipv4/tcp_available_congestion_control
reno cubic
$ cat /proc/sys/net/ipv4/tcp_allowed_congestion_control
reno cubic
$ cat /proc/sys/net/ipv4/tcp_congestion_control
cubic


Only reno and cubic, no bbr algorithm by google,  :-\

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11742
Re: How to enable TCP BBR support?
« Reply #3 on: June 21, 2020, 10:50:20 AM »
Hi Jones
Welcome to the forum.

To enable  BBR  requires  TCP_CONG_ADVANCED  to be set. The kernel config file shows:
Code: [Select]
# CONFIG_TCP_CONG_ADVANCED is not set
You would need to recompile the kernel if you want BBR.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11742
Re: How to enable TCP BBR support?
« Reply #4 on: June 21, 2020, 11:15:18 AM »
Hi Jones
The help text for configuring  TCP_CONG_BBR  states:
Quote
It requires the fq ("Fair Queue") pacing packet scheduler.

I don't see anything in the Kconfig file that enables that when  TCP_CONG_BBR  is selected. You should check that:
Code: [Select]
NET_SCH_FQis enabled prior to compiling.

Offline Jones

  • Newbie
  • *
  • Posts: 3
Re: How to enable TCP BBR support?
« Reply #5 on: June 21, 2020, 12:10:13 PM »
Hi Jones
The help text for configuring  TCP_CONG_BBR  states:
Quote
It requires the fq ("Fair Queue") pacing packet scheduler.

I don't see anything in the Kconfig file that enables that when  TCP_CONG_BBR  is selected. You should check that:
Code: [Select]
NET_SCH_FQis enabled prior to compiling.

Thanks, I will try it later.

Offline ovacikar

  • Jr. Member
  • **
  • Posts: 67
Re: How to enable TCP BBR support?
« Reply #6 on: January 05, 2025, 09:02:42 AM »
Tiny core 15 x86 still does not have BBR, but picore 15 does . Is there a wishlist thread for tiny core 16? I would like to have both Pi and x86 kernels bullt with same features.

Code: [Select]
tc@xxxx:~$ uname -a
Linux xxxx 6.6.8-tinycore #666 SMP Sat Dec 23 15:26:47 UTC 2023 i686 GNU/Linux
tc@xxxx:~$ cat /proc/sys/net/ipv4/tcp_available_congestion_control
reno cubic


tc@yyyy:~$ uname -a
Linux yyyy 6.6.47-piCore #9 Sat Aug 31 14:48:51 EDT 2024 armv6l GNU/Linux
tc@yyyy:~$ cat /proc/sys/net/ipv4/tcp_available_congestion_control
reno cubic bbr


Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11062
Re: How to enable TCP BBR support?
« Reply #7 on: January 05, 2025, 09:14:16 AM »
Ok, will enable it.
The only barriers that can stop you are the ones you create yourself.

Offline ovacikar

  • Jr. Member
  • **
  • Posts: 67
Re: How to enable TCP BBR support?
« Reply #8 on: January 05, 2025, 09:15:52 AM »
thanks, here is a diff :

Code: [Select]
diff config-6.6.8-tinycore 6.6.47-piCore_.config | grep -i tcp
< CONFIG_INET_TCP_DIAG=y
< # CONFIG_TCP_CONG_ADVANCED is not set
> CONFIG_INET_TCP_DIAG=m
> CONFIG_TCP_CONG_ADVANCED=y
> CONFIG_TCP_CONG_BIC=m
> CONFIG_TCP_CONG_WESTWOOD=m
> CONFIG_TCP_CONG_HTCP=m
> # CONFIG_TCP_CONG_HSTCP is not set
> # CONFIG_TCP_CONG_HYBLA is not set
> # CONFIG_TCP_CONG_VEGAS is not set
> # CONFIG_TCP_CONG_NV is not set
> # CONFIG_TCP_CONG_SCALABLE is not set
> # CONFIG_TCP_CONG_LP is not set
> # CONFIG_TCP_CONG_VENO is not set
> # CONFIG_TCP_CONG_YEAH is not set
> # CONFIG_TCP_CONG_ILLINOIS is not set
> # CONFIG_TCP_CONG_DCTCP is not set
> # CONFIG_TCP_CONG_CDG is not set
> CONFIG_TCP_CONG_BBR=m