Cake Recipes

Cake is the comprehensive queue management system the bufferbloat project has been working on since 2013. It has been included in the Linux kernel since v4.19.

These recipes are annotated combinations of settings that have been used for particular kinds of networks, organized from most common to most unusual. The detailed reference for all the parameters is tc-cake(8).

Additional recipes invited! To edit this page, submit a pull request to the Github repository.

Internet over TV Cable

Outbound, General Case

tc qdisc replace dev eth0 root cake docsis ack-filter bandwidth 17mbit
  • dev is the device, eth0 in this case.
  • root means this is the “top” qdisc.
  • docsis says tune for a cable-tv uplink’s overheads: cable TV follows the docsis standards.
  • ack-filter skips sending redundant acknowledgements.
  • bandwidth is the upload bandwidth of your link, often taken from speed tests like Waveform.

Inbound, General case

This applies to most inbound cases, not just cable.

ip link add name ifb4eth0 type ifb
tc qdisc del dev eth0 ingress
tc qdisc add dev eth0 handle ffff: ingress
tc qdisc del dev ifb4eth0 root
tc qdisc add dev ifb4eth0 root cake bandwidth 170mbit besteffort
ip link set ifb4eth0 up # important 
tc filter add dev eth0 parent ffff:  matchall action mirred egress redirect dev ifb4eth0

This creates a named link for download/ingress and applies CAKE to it.

  • bandwidth is the download bandwidth of your link, often from a speed test.

Internet over Telephone Lines

Outbound

tc qdisc replace dev eth0 root cake pppoe-ptm ack-filter bandwidth 61mbit
  • pppoe-ptm is one of the DSL (digital subscriber line) variants used by telcos such as British Telecommunications.

There are numerous dsl options: if your ISP doesn’t publicise which they use, there is also conservative which sets the expected overhead to a safely high value.

Internet from a Preexisting Ethernet

Outbound

tc qdisc replace dev eth0 root cake ethernet bandwidth 1gbit
  • ethernet says to tune for ethernet’s overheads.
  • bandwidth 1GBit is substantially faster than is commonly seen in offices. The example is from an office connected upstream to a datacenter with a faster 10Gbit network.
  • bandwidth unlimited suits an upstream which is the same speed as the office network.
To edit this page, submit a pull request to the Github repository.
RSS feed

Recent Updates

Oct 20, 2023 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG
CeroWrt (where it all started)

Network Performance Related Resources


Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".