What's happening inside the router
When more data arrives than the internet link can send, routers queue it. A deep queue keeps the link busy but makes every packet wait — including voice. A voice packet stuck behind a few hundred milliseconds of backup traffic arrives too late for the phone's jitter buffer. The term "bufferbloat" was popularized by Jim Gettys around 2010, and the Bufferbloat.net project developed the fq_codel and CAKE queue managers now included in Linux-based routers.
Grading scale used here
| Latency increase under load | Grade | Effect on calls |
|---|---|---|
| < 5 ms | A+ | None |
| 5–29 ms | A | None noticeable |
| 30–59 ms | B | Usually fine |
| 60–199 ms | C | Noticeable delay and choppiness during heavy use |
| 200–399 ms | D | Calls break up whenever the line is busy |
| ≥ 400 ms | F | Calls unusable under load |
How to fix bufferbloat
- Use a router with Smart Queue Management (SQM). On OpenWrt it's the
sqm-scriptspackage with CAKE or fq_codel; some commercial routers call it Smart Queues or adaptive QoS. - Set the shaper to about 85–95% of your measured speed in each direction so the queue forms in your router, where it's managed, instead of in the modem.
- Add voice prioritization (DSCP EF) on top of SQM for phone traffic.
- Schedule cloud backups and large uploads outside business hours, or rate-limit them.
- If upload is simply too small for the office, add bandwidth or a second line for voice.
Frequently asked questions
What is bufferbloat?
Bufferbloat is high latency caused by excessive buffering in network equipment. When a connection is busy, oversized queues in the modem or router hold packets for hundreds of milliseconds. Speed tests still look fine, but calls and video meetings break up.
How does bufferbloat affect VoIP calls?
When someone uploads or downloads heavily, voice packets wait behind that traffic. Callers hear delay, talk over each other, and get choppy or robotic audio — then the call clears up when the transfer ends.
How do I fix bufferbloat?
Enable Smart Queue Management (fq_codel or CAKE) on the router and set it slightly below your actual line speed, prioritize voice traffic with QoS, and move large uploads outside call hours. If your router can't do SQM, replacing it is usually the cheapest fix.
Does QoS fix bufferbloat?
Classic priority QoS helps voice jump the line, but only if the queue forms in a device that runs the QoS. Shaping the traffic slightly below line speed (SQM) moves the queue into the router so QoS can work. The two are best used together.
What is a good bufferbloat grade?
A or A+ means latency rises less than 30 ms under load, which is good for VoIP. B is usually acceptable. C or worse means calls will suffer whenever the connection is busy.
Is bufferbloat worse on cable or fiber?
It depends on the equipment more than the technology. Bufferbloat is commonly worst on the upload side of asymmetric connections such as cable and DSL. Newer DOCSIS 3.1 modems support Active Queue Management, which reduces it, but results vary by provider and modem.
Sources & references
- Bufferbloat.net project
- IETF RFC 8290 — FQ-CoDel queue management
- OpenWrt — Smart Queue Management (SQM) guide
- IETF RFC 4594 — DiffServ service classes (EF for telephony)
Written by Eric · Reviewed November 2026