[Cake] [Codel] Proposing COBALT

Jonathan Morton chromatix99 at gmail.com
Sat Jun 4 02:23:32 EDT 2016

> On 4 Jun, 2016, at 04:01, Andrew McGregor <andrewmcgr at gmail.com> wrote:
> There are undoubtedly DCTCP-like ECN responses widely deployed, since
> that is the default behaviour in Windows Server (gated on RTT in some
> versions).  But also, ECN bleaching exists, as do servers with ECN
> response turned off even though they negotiate ECN.  It would be good
> to know some specifics as to which site, whose DC they're hosted in,
> etc.

I’m keeping my mouth shut until I’ve analysed the specific traffic in more detail, so I know what I’m accusing people of and precisely who to accuse.  It’s even possible that the fault lies in my ISP’s network - I think they’ve made some significant changes recently.

If people are really negotiating ECN and then ignoring its signals at the host level, that’s a clear RFC violation.  Fortunately, I think this particular site would be interested in correcting such behaviour if confirmed and explained.

> Also, do you have fallback behaviour such that an ECN-unresponsive
> flow eventually sees drops?  I think that will be essential.

Yes, COBALT essentially *is* such a mechanism.  The Codel half always uses ECN if it’s available (and drops otherwise), but the BLUE half - the part responsible for handling unresponsive flows in the first place - always uses packet drops.

Cake also performs “head drop on the longest queue” when the global queue limit is reached (as does fq_codel).  This can be considered a second such mechanism, though a much blunter one; it is significantly superior to tail-drop for two major reasons, but can easily result in burst loss.

It is also this overflow which acts as the up-trigger for BLUE; the longest queue not only gets the instant head-drop but a notification to its COBALT instance.

 - Jonathan Morton

More information about the Cake mailing list