This seems clearly wrong for WANs less than 200Mbps unless I'm missing something? The cpu easily has the power to handle say 100Mbps and cake gives smooth as butter results for that.
So the question is if your WAN is faster than about 200Mbps should you
- Use an ERX with cake set to 200Mbps?
- Use an ERX with HWFO and no SQM?
- Use something else that has more CPU for cake?
- Something else?
A lot of it comes down to how much faster is your WAN and how much tolerance for bufferbloat you have. If you mostly download videos in batches and then watch them off your LAN, you'd probably want option 2. If you have to talk to people on your VOIP phone you will DEFINITELY want option 1 or 3.
In my opinion bufferbloat control is one of the main things a router should do, and cake or HFSC + fq_codel are the only schemes I'd put up with, so it comes down to choosing enough horsepower to be able to run one of those schemes at bandwidth rates you actually have... if you care about latency (basically if you are a gamer or a voiper or you watch an IPTV service or similar)
The thing is, to throttle your WAN requires you to drop packets. You can do it by policing the packets in a smart switch, but then the smart switch itself is interfering with your measurements (it's a Heisenberg Uncertainty Principle kind of thing).