OpenWrt 18.06.0 + TCP BBR

Don't think BBR was ever built by default, see PR868 for example

1 Like

My router is running server services (as IPSEC Server).

After reviewing the imagebuilder options and the PR cited, I now think that not only BBR is not present in the current binary builds you don't even have the option yet to build it into the kernel or as add as a kernel module.

But BBR seems quite interesting even for dealing with bufferbloat as you can see here: http://blog.cerowrt.org/post/bbrs_basic_beauty/

So, not just for servers, seems quite promising for basic home wifi routers.

1 Like

Maybe gets in conflict with 'software flow offloading' option?

You have to, at least, build the module by yourself

It's for file/video servers. Just use a correctly configured Cake from the Bufferbloat guys.

It's not only for file/video servers.
Take a look here: https://medium.com/google-cloud/tcp-bbr-magic-dust-for-network-performance-57a5f1ccf437

I'm using cake, but I would like to check how is TCP BBR working.

Totally orthogonal :wink: As the article states, you will only see effects if your router initiates actual data transmissions (be that serving data, web pages, or terminating a VPN link). For receiving data the servers need to support BBR and that is outside our control. BBR certainly seems nice especially since Google does not stand still and a major upgrade incorporating all that was learned from BBR v1is being created.I would just caution that BBR (unless rolled out universally*) is not really going to make sqm/cake moot.

Best Regards

*) I am kidding, even rolling out BBR universally is still not going to fix over-buffering of CPEs and head-end devices, so AQM@home still seems advisable.

1 Like

Do not underestimate the power of Google and his tons of money!! :joy: :joy: :joy:

So BBR doesn't "step on" cake's toes, so to speak, or vice versa? As in shouldn't be a negative impact when running concurrently?

I'd do A/B testing, but currently the job is leaving me with next to no free time, and as usual my only test platform is the home router/AP with friendly family members sharpening the pitchforks if things get too "interesting"...

I believe so, BBR explicitly tries to detect the presence of non-latency inceasing AQMs like cake and behave accordingly. Now whether that works sufficiently well, I do not know, and I note that google is working on BBRv2 to make it a nicer netizen when sharing links with other non-BBR-flows, so maybe it is not yet time for BBR everywhere.

I feel your pain, I am in a similar boat

1 Like

BBRv1 can be very unfair, even to itself. The post of mine you cite is very old, and I have tons of later data that I guess I should organize and publish. fq_codel works just fine against it, but tends to drop a lot of packets before bbrv1 notices.

I would support openwrt gaining the ability to add it as a package post 4.14, however. Better more folk get experience with it. Hopefully bbrv2 will be better.

3 Likes

Has there been any further development and testing regarding this topic? Is there any current plans to implement this in OpenWRT?

@vstokesjr
BBR is available in snapshots, you can install via:
opkg update ; opkg install kmod-tcp-bbr

then edit /etc/sysctl.conf, and add the following:

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

Thank you!
Has anyone seen any network performance improvements on their router when enabling BBR?

Just as a reminder, TCP congestion control is performed by TCP connection endpoints, so unless you run a proxy like squid or other services that terminate TCP connections on the router, the router's congestion control algorithm will have no noticeable effect on network performance like routing, NAT-masquerading or fire-walling. You probably know this already, but before anybody starts thinking BBR is a silver bullet against performance issues, I wanted to comment upon proactively.

4 Likes

I want to use Hybla congestion control if possible

Discussion on

That works!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.