<p dir="ltr">When Codel is applied on the upstream side of a link, a burst arrives in it almost instantly, and thus it only takes 5ms to detect that 5ms of queue has developed. The interval parameter then delays action on that detection until it is certain that it's a standing queue and not simply a burst.</p>
<p dir="ltr">When applied on the downstream side of a link, however, it takes longer for a burst to filter through to where Codel can see it. If the shaper is set to 90% of the link rate, it takes at least 45ms to build a 5ms queue, during which the receiver is acking data without any clue that congestion is in place. At 95%, it requires at least 95ms. The delay in detection might be even longer under some circumstances.</p>
<p dir="ltr">This means Codel has to be more aggressive at responding to a detected 5ms queue on ingress in order to provide control of the flow comparable to egress. I'm proposing using a reduced interval parameter to do that. A drawback is that the response will be stronger than designed, and this may have an impact on throughput, but the same is true (and more definitely so) of a policer.</p>
<p dir="ltr">On the one hand, this might lead to an interim solution while Bobbie gets fleshed out. On the other, it should provide more information on whether Bobbie is likely to work.</p>
<p dir="ltr"> - Jonathan Morton<br>
</p>