Wheelhouse docs

Shape a link with CAKE#

You will end up with CAKE shaping both directions of your internet connection, each just below what the line really delivers — which is what stops one upload or one large download from adding half a second of latency to everything else.

Before you start#

  • The operator role and a licence.
  • Your line's real speeds. Not the numbers on the contract: run a speed test with nothing else using the line, and write down the upload and the download you actually get.
  • Which interface is your internet connection. The Uplinks tab of High availability shows it.

Step 1 — Open the editor#

Network → QoS, then Add shaping, and choose the interface. If the interface is shaped already, click its row instead.

Step 2 — Set the rates#

Enter the upload and download rates in Mbit/s, at 90 to 95 per cent of what the speed test showed. The whole mechanism depends on the queue being on this router rather than in the provider's equipment, and it only is if this router is the bottleneck: a shaper set to the full line speed shapes nothing.

Step 3 — Leave the rest, or adjust it#

The editor starts with what a home or small-office connection wants:

  • Upload: flow isolation by sending hosts then flows, NAT-aware fairness and ACK filtering. One machine with forty uploads gets one host's share, not forty.
  • Download: flow isolation by receiving hosts then flows and NAT-aware fairness.

Raise Round-trip time for a satellite or other long path; leave it empty (100 ms) for an ordinary internet connection.

If you would rather drop download traffic over the rate than queue it — cheaper on a slow router, harsher on the traffic — choose Policing as the download method and give it a burst, such as 15k.

Step 4 — Save and apply#

Save changes, then Apply changes in the Commit Bar. Shaping takes effect when the commit lands.

Check it worked#

The router is running it. The interface's row on the QoS page says Active, and the traffic columns start counting. Not applied means the router is running something other than the queue the configuration asks for; hover it for what.

Latency under load moved. The test:

  1. Measure idle latency to something a few hops away.
  2. Start a large upload, then a large download.
  3. Measure again during each.

Without shaping the second number is typically hundreds of milliseconds worse. With CAKE sized correctly it barely moves. If it does not improve, the rate is too high — the queue is still in the provider's equipment — so lower it a few per cent and try again.

Undoing it#

Open the interface's row and turn a direction off, or Remove shaping to take both off. When nothing on the router is shaped any more, the QoS configuration goes with it.

The OPNsense importer translates an OPNsense upload pipe and names the download pipe in its report; set the download here after importing.

See also#

Updated 2026-09-18 qos cake shaping