Skip to main content

The Flow Queue CoDel Packet Scheduler and Active Queue Management Algorithm
draft-ietf-aqm-fq-codel-06

Revision differences

Document history

Date Rev. By Action
2018-01-04
06 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2017-12-13
06 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2017-11-13
06 (System) RFC Editor state changed to RFC-EDITOR from REF
2017-10-18
06 (System) RFC Editor state changed to REF from EDIT
2017-10-16
06 (System) RFC Editor state changed to EDIT from MISSREF
2016-04-04
06 (System) RFC Editor state changed to MISSREF
2016-04-04
06 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2016-04-04
06 (System) Announcement was received by RFC Editor
2016-04-04
06 (System) IANA Action state changed to No IC from In Progress
2016-04-04
06 (System) IANA Action state changed to In Progress
2016-04-03
06 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2016-04-03
06 Cindy Morgan IESG has approved the document
2016-04-03
06 Cindy Morgan Closed "Approve" ballot
2016-04-03
06 Cindy Morgan Ballot writeup was changed
2016-04-03
06 Cindy Morgan Ballot approval text was generated
2016-04-03
06 Martin Stiemerling all set, ready to go.
2016-04-03
06 Martin Stiemerling IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::Point Raised - writeup needed
2016-04-03
06 Martin Stiemerling Ballot writeup was changed
2016-03-23
06 Tero Kivinen Closed request for Last Call review by SECDIR with state 'No Response'
2016-03-23
06 Gunter Van de Velde Request for Last Call review by OPSDIR Completed: Has Issues. Reviewer: Jürgen Schönwälder.
2016-03-18
06 Toke Høiland-Jørgensen IANA Review state changed to Version Changed - Review Needed from IANA OK - No Actions Needed
2016-03-18
06 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-06.txt
2016-03-17
05 Cindy Morgan IESG state changed to Approved-announcement to be sent::Point Raised - writeup needed from IESG Evaluation
2016-03-17
05 Cindy Morgan Changed consensus to Yes from Unknown
2016-03-17
05 Alia Atlas [Ballot comment]
I think it would be useful to have a reference to the Linux implementation ("current" version and pointer).
2016-03-17
05 Alia Atlas [Ballot Position Update] New position, No Objection, has been recorded for Alia Atlas
2016-03-17
05 Joel Jaeggli [Ballot Position Update] New position, No Objection, has been recorded for Joel Jaeggli
2016-03-17
05 Stephen Farrell [Ballot comment]

Good stuff. Thanks.
2016-03-17
05 Stephen Farrell [Ballot Position Update] New position, Yes, has been recorded for Stephen Farrell
2016-03-17
05 Martin Stiemerling IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead
2016-03-17
05 Jari Arkko [Ballot Position Update] New position, No Objection, has been recorded for Jari Arkko
2016-03-17
05 (System) IESG state changed to Waiting for AD Go-Ahead from In Last Call
2016-03-16
05 Ben Campbell [Ballot Position Update] New position, No Objection, has been recorded for Ben Campbell
2016-03-16
05 Barry Leiba [Ballot Position Update] New position, No Objection, has been recorded for Barry Leiba
2016-03-16
05 Benoît Claise
[Ballot comment]
- Is the following really necessary:

  In this document, these words will appear with that interpretation
  only when in ALL CAPS.  …
[Ballot comment]
- Is the following really necessary:

  In this document, these words will appear with that interpretation
  only when in ALL CAPS.  Lower case uses of these words are not to be
  interpreted as carrying [RFC2119] significance.

- section 6
  While FQ-CoDel has been shown in many scenarios to offer significant
  performance gains, there are some scenarios where the scheduling
  algorithm in particular is not a good fit.

Gains compared to?

- From Jürgen's OPS DIR review:
The working draft still says this:

  and we encourage such implementations be widely deployed

It is unclear what 'we' is. This is something I think that needs to be
fixed since people will come up with different interpretation of such
a recommendation. (In a scientific paper, it would be clear that 'we'
refers to the authors but in documents coming out of IETF WGs, the
notion of what is 'we' is not so clear anymore.
2016-03-16
05 Benoît Claise [Ballot Position Update] New position, No Objection, has been recorded for Benoit Claise
2016-03-16
05 Alissa Cooper [Ballot Position Update] New position, Yes, has been recorded for Alissa Cooper
2016-03-16
05 Elwyn Davies Request for Last Call review by GENART Completed: Ready with Nits. Reviewer: Elwyn Davies.
2016-03-16
05 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2016-03-16
05 Spencer Dawkins
[Ballot comment]
Very nice work. I have some nit-ish questions I hope you'll consider, but nothing blocking.

This text in the Introduction,

  The FQ-CoDel …
[Ballot comment]
Very nice work. I have some nit-ish questions I hope you'll consider, but nothing blocking.

This text in the Introduction,

  The FQ-CoDel algorithm is a combined packet scheduler and AQM
  developed as part of the bufferbloat-fighting community effort.  It
  is based on a modified Deficit Round Robin (DRR) queue scheduler,
  with the CoDel AQM algorithm operating on each queue.
 
introduces both CoDel and DDR, but they don't have references until Section 1.3. Maybe move that forward in the doc?

Perhaps this text:

  FQ-CoDel stochastically classifies incoming packets into different
  queues by hashing the 5-tuple of IP protocol number and source and
  destination IP and port numbers, perturbed with a random number
  selected at initiation time (although other flow classification
  schemes can optionally be configured instead).
 
would benefit from a forward reference to Section 4.1.1?

Just as a nit, you have an "is is" in Section 3.

In this text:

  After having selected a queue from which to dequeue a packet, the
  CoDel algorithm is invoked on that queue.  This applies the CoDel
  control law,
 
"CoDel control law" hasn't been introduced, and isn't included in Section 1.2. Could you provide a reference or pointer?

In this text:

  This parameter can be set only at load time since memory has to be
  allocated for the hash table in the current implementation.
 
if "in the current implementation" refers to "can be set only at load time",

  This parameter can be set only at load time in the current implementation,
  since memory has to be allocated for the hash table.
 
might be clearer.

I wonder if

  while CoDel itself can take a while
  to respond, fq_codel doesn't miss a beat.
 
is clear to non-native English language readers?

In this text:

  In the presence of queue management schemes that contain latency
  under load,
 
"contain" means something like "limit" right? That wasn't what I understood in my first parsing attempt.

I'm confused by this text:

  o  Packet fragments without a layer 4 header can be hashed into
      different bins than the first fragment with the header intact.
      This can cause reordering and/or adversely affect the performance
      of the flow.  Keeping state to match the fragments to the
      beginning of the packet, or simply putting all fragmented packets
      into the same queue, are two ways to alleviate this.
     
Is this "all fragmented packets", or "all packet fragments"?

If it's "all fragmented packets", don't you have to reassemble the fragments?

If it's "all packet fragments", the packet fragments would all be transmitted in order, but could the fragments with headers and without headers of a single packet be reordered?

But either way, I have a question :-) ...

Do we say things like

  In this document we have documented the Linux
  implementation in sufficient detail for an independent
  implementation, and we encourage such implementations be widely
  deployed.

in Experimental RFCs?
2016-03-16
05 Spencer Dawkins [Ballot Position Update] New position, Yes, has been recorded for Spencer Dawkins
2016-03-15
05 Terry Manderson [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson
2016-03-15
05 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Jürgen Schönwälder
2016-03-15
05 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Jürgen Schönwälder
2016-03-15
05 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2016-03-14
05 Martin Stiemerling Ballot has been issued
2016-03-14
05 Martin Stiemerling [Ballot Position Update] New position, Yes, has been recorded for Martin Stiemerling
2016-03-14
05 Martin Stiemerling Created "Approve" ballot
2016-03-14
05 Martin Stiemerling Ballot writeup was changed
2016-03-10
05 Jean Mahoney Request for Last Call review by GENART is assigned to Elwyn Davies
2016-03-10
05 Jean Mahoney Request for Last Call review by GENART is assigned to Elwyn Davies
2016-03-10
05 Tero Kivinen Request for Last Call review by SECDIR is assigned to David Waltermire
2016-03-10
05 Tero Kivinen Request for Last Call review by SECDIR is assigned to David Waltermire
2016-03-09
05 (System) IANA Review state changed to IANA OK - No Actions Needed from IANA - Review Needed
2016-03-09
05 Sabrina Tanamal
(Via drafts-lastcall-comment@iana.org): IESG/Authors/WG Chairs:

IANA has reviewed draft-ietf-aqm-fq-codel-05.txt, which is currently in Last Call, and has the following comments:

We understand that this …
(Via drafts-lastcall-comment@iana.org): IESG/Authors/WG Chairs:

IANA has reviewed draft-ietf-aqm-fq-codel-05.txt, which is currently in Last Call, and has the following comments:

We understand that this document doesn't require any IANA actions.

While it's often helpful for a document's IANA Considerations section to remain in place upon publication even if there are no actions, if the authors strongly prefer to remove it, IANA does not object.

If this assessment is not accurate, please respond as soon as possible.

Thank you,

Sabrina Tanamal
IANA Specialist
ICANN
2016-03-03
05 Jean Mahoney Request for Last Call review by GENART is assigned to Elwyn Davies
2016-03-03
05 Jean Mahoney Request for Last Call review by GENART is assigned to Elwyn Davies
2016-03-03
05 Amy Vezza IANA Review state changed to IANA - Review Needed
2016-03-03
05 Amy Vezza
The following Last Call announcement was sent out:

From: The IESG
To: "IETF-Announce"
CC: wes@mti-systems.com, mls.ietf@gmail.com, draft-ietf-aqm-fq-codel@ietf.org, aqm-chairs@ietf.org, aqm@ietf.org
Reply-To: ietf@ietf.org …
The following Last Call announcement was sent out:

From: The IESG
To: "IETF-Announce"
CC: wes@mti-systems.com, mls.ietf@gmail.com, draft-ietf-aqm-fq-codel@ietf.org, aqm-chairs@ietf.org, aqm@ietf.org
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (FlowQueue-Codel) to Experimental RFC


The IESG has received a request from the Active Queue Management and
Packet Scheduling WG (aqm) to consider the following document:
- 'FlowQueue-Codel'
  as Experimental RFC

The IESG plans to make a decision in the next few weeks, and solicits
final comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2016-03-17. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the
beginning of the Subject line to allow automated sorting.

Abstract


  This memo presents the FQ-CoDel hybrid packet scheduler/AQM
  algorithm, a powerful tool for fighting bufferbloat and reducing
  latency.

  FQ-CoDel mixes packets from multiple flows and reduces the impact of
  head of line blocking from bursty traffic.  It provides isolation for
  low-rate traffic such as DNS, web, and videoconferencing traffic.  It
  improves utilisation across the networking fabric, especially for
  bidirectional traffic, by keeping queue lengths short; and it can be
  implemented in a memory- and CPU-efficient fashion across a wide
  range of hardware.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-aqm-fq-codel/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-aqm-fq-codel/ballot/


No IPR declarations have been submitted directly on this I-D.


2016-03-03
05 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2016-03-03
05 Martin Stiemerling Placed on agenda for telechat - 2016-03-17
2016-03-03
05 Martin Stiemerling Last call was requested
2016-03-03
05 Martin Stiemerling Last call was requested
2016-03-03
05 Martin Stiemerling Last call announcement was generated
2016-03-03
05 Martin Stiemerling Ballot approval text was generated
2016-03-03
05 Martin Stiemerling Ballot writeup was generated
2016-03-03
05 Martin Stiemerling IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2016-03-01
05 (System) Sub state has been changed to AD Followup from Revised ID Needed
2016-03-01
05 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-05.txt
2016-03-01
04 Martin Stiemerling Authors have to fix editorial issues before going ahead.
2016-03-01
04 Martin Stiemerling IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation
2016-02-28
04 Martin Stiemerling IESG state changed to AD Evaluation from Publication Requested
2016-02-14
04 Wesley Eddy
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up.

Changes are expected over time. This version is dated …
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up.

Changes are expected over time. This version is dated 24 February 2012.

(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or Historic)?  Why
is this the proper type of RFC?  Is this type of RFC indicated in the
title page header?

Experimental.  This has been discussed in the working group and with our AD.  Their has been FQ-CoDel code in the Linux kernel for a couple years now, and it studied by a number of different research groups, and used by many people on the Internet already.  The AQM WG seems to have consensus that this is safe for wide deployment on the Internet.  The document itself identifies (in Section 7) aspects of future work and experimentation going forward.

(2) The IESG approval announcement includes a Document Announcement
Write-Up. Please provide such a Document Announcement Write-Up. Recent
examples can be found in the "Action" announcements for approved
documents. The approval announcement contains the following sections:

Technical Summary

  Relevant content can frequently be found in the abstract
  and/or introduction of the document. If not, this may be
  an indication that there are deficiencies in the abstract
  or introduction.

Abstract:
"""
  This memo presents the FQ-CoDel hybrid packet scheduler/AQM
  algorithm, a powerful tool for fighting bufferbloat and reducing
  latency.

  FQ-CoDel mixes packets from multiple flows and reduces the impact of
  head of line blocking from bursty traffic.  It provides isolation for
  low-rate traffic such as DNS, web, and videoconferencing traffic.  It
  improves utilisation across the networking fabric, especially for
  bidirectional traffic, by keeping queue lengths short; and it can be
  implemented in a memory- and CPU-efficient fashion across a wide
  range of hardware.
"""

Working Group Summary

  Was there anything in WG process that is worth noting? For
  example, was there controversy about particular points or
  were there decisions where the consensus was particularly
  rough?

An interesting aspect of this document is the combined use of CoDel with FQ for improving flow-isolation properties. The working group had early discussions about the differences between FQ and scheduling mechanisms versus more pure AQM algorithms (like CoDel).  This resulted in draft-ietf-aqm-fq-implementation, which describes the terminology and construction of hybrid systems.  Any early disagreement in the WG about this seems to have subsided after the subsequent discussions and work to resolve terminology and scope.


Document Quality

  Are there existing implementations of the protocol? Have a
  significant number of vendors indicated their plan to
  implement the specification? Are there any reviewers that
  merit special mention as having done a thorough review,
  e.g., one that resulted in important changes or a
  conclusion that the document had no substantive issues? If
  there was a MIB Doctor, Media Type or other expert review,
  what was its course (briefly)? In the case of a Media Type
  review, on what date was the request posted?

Yes, there are existing implementations and deployments, including in the Linux kernel.  There have been other implementation efforts in addition to the editors, and questions have been shared on the AQM mailing list, with clarifications posted in draft updates.  The Linux implementation is from the editors of the document, and an independent implementation in FreeBSD was done by Rasool As-Saadi at the Swinburne University.


Personnel

  Who is the Document Shepherd? Who is the Responsible Area
  Director?

Wes Eddy (wes@mti-systems.com) is the Document Shepherd.  Martin Stiemerling is the responsible AD.


(3) Briefly describe the review of this document that was performed by
the Document Shepherd.  If this version of the document is not ready
for publication, please explain why the document is being forwarded to
the IESG.

I have reviewed the full document, multiple times in its lifecycle.  It is ready for publication.  The quality is sufficient to write proper code from, and the descriptions, logic, and rationale are clearly explained.


(4) Does the document Shepherd have any concerns about the depth or
breadth of the reviews that have been performed?

No concerns.


(5) Do portions of the document need review from a particular or from
broader perspective, e.g., security, operational complexity, AAA, DNS,
DHCP, XML, or internationalization? If so, describe the review that
took place.


No special additional reviews are necessary.


(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
concerns here.


No concerns.


(7) Has each author confirmed that any and all appropriate IPR
disclosures required for full conformance with the provisions of BCP 78
and BCP 79 have already been filed. If not, explain why.


Yes, this has been confirmed with each of the editors.


(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
disclosures.


No IPR disclosures are filed referencing this document.


(9) How solid is the WG consensus behind this document? Does it
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it? 


Full consensus.


(10) Has anyone threatened an appeal or otherwise indicated extreme
discontent? If so, please summarise the areas of conflict in separate
email messages to the Responsible Area Director. (It should be in a
separate email because this questionnaire is publicly available.)


No threats of appeals or other discontent is visible.


(11) Identify any ID nits the Document Shepherd has found in this
document. (See https://www.ietf.org/tools/idnits/ and the Internet-Drafts
Checklist). Boilerplate checks are not enough; this check needs to be
thorough.

A small number of other active I-Ds that are referenced may be updated past the referenced versions, but this will be corrected prior to final RFC publication.


(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.

Not applicable.


(13) Have all references within this document been identified as
either normative or informative?

Yes.


(14) Are there normative references to documents that are not ready for
advancement or are otherwise in an unclear state? If such normative
references exist, what is the plan for their completion?

No; all normative references are established RFCs.


(15) Are there downward normative references references (see RFC 3967)?
If so, list these downward references to support the Area Director in
the Last Call procedure.

No downrefs.


(16) Will publication of this document change the status of any
existing RFCs? Are those RFCs listed on the title page header, listed
in the abstract, and discussed in the introduction? If the RFCs are not
listed in the Abstract and Introduction, explain why, and point to the
part of the document where the relationship of this document to the
other RFCs is discussed. If this information is not in the document,
explain why the WG considers it unnecessary.

No changes to existing RFCs.


(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).



(18) List any new IANA registries that require Expert Review for future
allocations. Provide any public guidance that the IESG would find
useful in selecting the IANA Experts for these new registries.

None.


(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.

None.
2016-02-14
04 Wesley Eddy Responsible AD changed to Martin Stiemerling
2016-02-14
04 Wesley Eddy IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2016-02-14
04 Wesley Eddy IESG state changed to Publication Requested
2016-02-14
04 Wesley Eddy IESG process started in state Publication Requested
2016-02-14
04 Wesley Eddy Changed document writeup
2016-02-10
04 Wesley Eddy Changed document writeup
2016-02-04
04 Wesley Eddy Draft write-up is ready.  Need to confirm IPR with the editors.
2016-02-04
04 Wesley Eddy IETF WG state changed to WG Consensus: Waiting for Write-Up from In WG Last Call
2016-02-04
04 Wesley Eddy Changed document writeup
2016-02-04
04 Wesley Eddy This document now replaces draft-hoeiland-joergensen-aqm-fq-codel instead of None
2016-02-04
04 Wesley Eddy Intended Status changed to Experimental from Informational
2016-02-04
04 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-04.txt
2015-12-02
03 Wesley Eddy Tag Waiting for Referenced Document cleared.
2015-12-02
03 Wesley Eddy IETF WG state changed to In WG Last Call from WG Document
2015-11-20
03 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-03.txt
2015-10-19
02 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-02.txt
2015-10-14
01 (System) Notify list changed from "Wesley Eddy"  to (None)
2015-08-10
01 Wesley Eddy Notification list changed to "Wesley Eddy" <wes@mti-systems.com>
2015-08-10
01 Wesley Eddy Document shepherd changed to Wesley Eddy
2015-07-23
01 Richard Scheffenegger waiting for draft-ietf-aqm-codel, to go through WGLC together
2015-07-23
01 Richard Scheffenegger Tag Waiting for Referenced Document set.
2015-07-23
01 Richard Scheffenegger Intended Status changed to Informational from None
2015-07-04
01 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-01.txt
2015-01-13
00 Toke Høiland-Jørgensen New version available: draft-ietf-aqm-fq-codel-00.txt