FQ-CoDel

FQ-CoDel (RFC8290)[1] is a hybrid packet scheduler and AQM algorithm widely used in computer networking to combat Bufferbloat.

Since its invention and incorporation into the Linux kernel in 2012 by Eric Dumazet, it has become the default packet scheduler and AQM algorithm in a multiplicity of operating systems. Operating systems shipping it as the default include:

In conjunction with a Hierarchical Token Bucket (HTB), FQ-CoDel is also widely used as the fundamental packet shaping queue management system of many SQM[2] and QoS systems by a multiplicity of manufacturers, and while this combination is often enabled by an "Optimize for conferencing and gaming" option, or referred to as Smart Queues,[3][4][5] has had other trade names such as "Streamboost", "Adaptive QoS", and "Anti-Bufferbloat".[6] Known commercial Linux based implementations derived from FQ-CoDel in conjunction with a shaper include Google Wifi,[7] Eero,[8] Firewalla, IPfire,[9] Evenroute, Mikrotik,[10] Untangle,[11] Ubiquiti, and NetDuma's products.

FQ-CoDel is also used within the Linux kernel for WiFi with full support for the Qualcomm Ath9k, and Ath10k chips, mediatek's mt76 chips, and most of Intel's WiFi chips.

A hardware offload for it (running either at line rate or with an HTB) is present as part of Qualcomm's IPQ806x NSS co-processors.[12]

Theory of operation

FQ-CoDel consists of two parts acting as a whole, a modified DRR++ like FQ packet scheduler to better interleave packets from competing flows, combined with a per-flow Codel AQM to intelligently reduce the queue depth for TFRC flows. The interaction of these two algorithms is complex and described in RFC8289[13] and RFC8290.

Other implementations

  • OSX
  • OpenBSD
  • FreeBSD
  • NS2
  • NS3
  • P4

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.