[Bloat] Inaccurate rates with HTB/HFSC+fq_codel on router due to VLAN?

Jonathan Morton chromatix99 at gmail.com
Fri Mar 24 20:10:45 EDT 2017


> On 24 Mar, 2017, at 20:18, xnor <xnoreq at gmail.com> wrote:
> 
> you haven't responded to the cake stats I'd sent you

Ah, sorry about that.  I see them in the thread, but I must have missed them at the time.

You do indeed have a significant number of packet drops in each case, with the more significant numbers corresponding to more intensive use cases.  This is reflected in the differences you quote between “in” ad “out” bandwidth used; the “out” rates are all consistent with the configured rate.  Importantly, you also *don't* have any ECN-marked packets.

Unfortunately, this behaviour is a known limitation of shapers operating downstream of the actual bottleneck; they cannot control the queue as thoroughly as they could if placed upstream of it.  The problem is sharply exacerbated when ECN is not used, since the only signalling mechanism is then to drop packets, but every dropped packet has already consumed time on the bottleneck link and is then not accounted for by the shaper.

You may get significantly better results from turning on ECN negotiation on your hosts.  Most servers already accept ECN negotiation, but won’t initiate it.  (Do we have an ECN tutorial on bufferbloat.net already?)

Your solution is an interesting one, but I have a better idea which I could reasonably implement in Cake: account for dropped packets, as well as delivered packets, when an “ingress mode” flag is set.  This avoids having an inner control loop which, I’ve found, is always less accurate and takes longer to respond.

I’d be grateful if you could open an issue on Github regarding this “ingress mode” flag, as a reminder.

 - Jonathan Morton




More information about the Bloat mailing list