Re: [aqm] working group last call on CoDel drafts

"Bless, Roland (TM)" <roland.bless@kit.edu> Fri, 04 December 2015 10:16 UTC

Return-Path: <roland.bless@kit.edu>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85DAC1B2F63 for <aqm@ietfa.amsl.com>; Fri, 4 Dec 2015 02:16:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.849
X-Spam-Level:
X-Spam-Status: No, score=-3.849 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rhyKb69nSy7A for <aqm@ietfa.amsl.com>; Fri, 4 Dec 2015 02:16:20 -0800 (PST)
Received: from iramx2.ira.uni-karlsruhe.de (iramx2.ira.uni-karlsruhe.de [141.3.10.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B35E51B2F62 for <aqm@ietf.org>; Fri, 4 Dec 2015 02:16:19 -0800 (PST)
Received: from i72vorta.tm.uni-karlsruhe.de ([141.3.71.26] helo=i72vorta.tm.kit.edu) by iramx2.ira.uni-karlsruhe.de with esmtp port 25 iface 141.3.10.81 id 1a4nPP-0003ID-EW; Fri, 04 Dec 2015 11:16:11 +0100
Received: from [IPv6:::1] (ip6-localhost [IPv6:::1]) by i72vorta.tm.kit.edu (Postfix) with ESMTPS id 5946DB00346; Fri, 4 Dec 2015 11:16:11 +0100 (CET)
To: aqm@ietf.org, Wesley Eddy <wes@mti-systems.com>
References: <565F11FD.3070405@mti-systems.com>
From: "Bless, Roland (TM)" <roland.bless@kit.edu>
X-Enigmail-Draft-Status: N1110
Organization: Institute of Telematics, Karlsruhe Institute of Technology
Message-ID: <566167EB.3060502@kit.edu>
Date: Fri, 04 Dec 2015 11:16:11 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
MIME-Version: 1.0
In-Reply-To: <565F11FD.3070405@mti-systems.com>
Content-Type: multipart/alternative; boundary="------------030906070308060603040904"
X-ATIS-AV: ClamAV (iramx2.ira.uni-karlsruhe.de)
X-ATIS-Timestamp: iramx2.ira.uni-karlsruhe.de 1449224171.
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/t7j0NamebotHz8qmj1dne5iDeIQ>
Subject: Re: [aqm] working group last call on CoDel drafts
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/aqm/>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Dec 2015 10:16:23 -0000

Dear all,

we believe that the Codel specification
https://datatracker.ietf.org/doc/draft-ietf-aqm-codel/ needs at least
one major clarification.

The following lines are present in the draft's pseudo-code, but are not
explained further anywhere in the document text, and moreover differ
from the Linux implementation [*], that the document also suggests as
reference implementation.

           // If min went above target close to when it last went
           // below, assume that the drop rate that controlled the
           // queue on the last cycle is a good starting point to
           // control it now. ('drop_next' will be at most 'interval'
           // later than the time of the last drop so 'now - drop_next'
           // is a good approximation of the time from the last drop
           // until now.)
*count_ = (count_ > 2 && now - drop_next_ < 8*interval_)? count_ - 2 : 1; *

This line makes sure, that when two dropping states are entered within a
short interval from each other, the variable /count/ is not reset (to
zero), but is rather changed somehow. In this document, /count/ is
decreased by two, while in the Linux version, /count/ is set to the
number of packets, that were dropped in the previous dropping state.

Based on the email-thread that was started from these messages ...
     http://www.ietf.org/mail-archive/web/aqm/current/msg00376.html
        http://www.ietf.org/mail-archive/web/aqm/current/msg01250.html
            http://www.ietf.org/mail-archive/web/aqm/current/msg01455.html

... one can infer, that:
1) the case where /count/ is not reset is not an exception, but rather a
common case (that we can confirm from our measurements),
2) several options for this behavior were described on the mailing list
some time ago,

Since it is the most common case, this part of the algorithm should be
explained in the specification.
If the two versions will continue to differ, both algorithms (and their
difference in behavior) should be explained,
but in order to avoid confusion for implementers/operators we believe
that specification of a single algorithm is preferable .

Regards,
  Roland and Polina

[*] https://github.com/torvalds/linux/blob/master/include/net/codel.h#L341

Am 02.12.2015 um 16:45 schrieb Wesley Eddy:
> These both have the intended status designated as "Informational".
> Similar to the questions asked for PIE, we/chairs need to understand
> if there's consensus on:
> - Are these specifications are clear and sufficient quality to publish?
> - Should the status of the RFCs be "Experimental", "Proposed
> Standard", or "Informational"?
>