Can I use TCP BBR with Cake?

Currently referencing Ultimate SQM settings: Layer_cake + DSCP marks (New Script!) post & thanks to all of you who've contributed in this firmware.

then go to /etc/sysctl.conf and add those two lines:

net.core.default_qdisc=fq_codel
net.ipv4.tcp_congestion_control=bbr

1. Should it be fq_codel or fq?
2. What if I use net.core.default_qdisc=cake will it cause any negative impact on performance?
3. I've uploaded my sqm file below. Will it be fine if I use "bbr" with Cake SQM?

Firmware Version: OpenWrt SNAPSHOT r13881-bae4204e34 / LuCI Master git-20.200.48516-dcac704
Kernel Version: 5.4.52
SQM:

config queue 'eth1'
	option interface 'pppoe-WAN'
	option download '0'
	option upload '2375'
	option debug_logging '0'
	option verbosity '5'
	option enabled '1'
	option qdisc 'cake'
	option script 'layer_cake.qos'
	option qdisc_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option ingress_ecn 'NOECN'
	option egress_ecn 'NOECN'
	option qdisc_really_really_advanced '1'
	option eqdisc_opts 'diffserv8 nat ack-filter dual-srchost'
	option linklayer 'ethernet'
	option overhead '30'

config queue
	option debug_logging '0'
	option verbosity '5'
	option egress_ecn 'NOECN'
	option enabled '1'
	option interface 'eth0'
	option download '0'
	option upload '4750'
	option qdisc 'cake'
	option script 'layer_cake.qos'
	option qdisc_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option ingress_ecn 'NOECN'
	option qdisc_really_really_advanced '1'
	option eqdisc_opts 'diffserv8 nat dual-dsthost'
	option linklayer 'ethernet'
	option overhead '30'

I would also like to know this, im trying/learning about SQM/TCP congestion.

I am now trying out net.core.default_qdisc=cake and net.ipv4.tcp_congestion_control=bbr , any information about OP question please?

So default qdiscs are obviously a matter of taste. That said as a rule of thumb I would say:
sch_fq: great default qdisc for end hosts, preferably endhost without virtual machines running
sch_fq_codel: great all around qdisc
cake: great for wan links, but computationally expensive with little advantages over fq_codel for LAN links.

When systemd discussed default qdiscs cake's main developer argued against cake on every interface, but again a matter of taste.

Regarding BBR, as far as I can tell, BBR has some issues with AQMs like SQM as it ignores ECN marks and also tries to ignore packet loss up to certain limit. Some version of BBR gained a special AQM detection mode which might work better with SQM. That said unless your router actually initiates/terminates loads of TCP connections the choice of TCP CC probably does not matter much.

6 Likes

Thank you @moeller0 always knowledgable and helping, :heart_eyes: