Re: [Tsv-art] Tsvart early review of draft-briscoe-docsis-q-protection-02

"RFC ISE (Adrian Farrel)" <rfc-ise@rfc-editor.org> Fri, 18 February 2022 18:59 UTC

Return-Path: <rfc-ise@rfc-editor.org>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4216A3A12FE; Fri, 18 Feb 2022 10:59:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 7sygSeL8_drZ; Fri, 18 Feb 2022 10:59:43 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [IPv6:2001:1900:3001:11::31]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D7B0F3A12FB; Fri, 18 Feb 2022 10:59:38 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by rfc-editor.org (Postfix) with ESMTP id 0E04E4C1D6; Fri, 18 Feb 2022 10:59:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at rfc-editor.org
Received: from rfc-editor.org ([127.0.0.1]) by localhost (rfcpa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WKc6u-avu9Ye; Fri, 18 Feb 2022 10:59:35 -0800 (PST)
Received: from www.rfc-editor.org (localhost [127.0.0.1]) by rfc-editor.org (Postfix) with ESMTP id A138B4C1D1; Fri, 18 Feb 2022 10:59:35 -0800 (PST)
Received: from 185.69.144.58 (SquirrelMail authenticated user rfcpise) by www.rfc-editor.org with HTTP; Fri, 18 Feb 2022 18:59:35 -0000
Message-ID: <72e135f883c88d382920f75132cc6aae.squirrel@www.rfc-editor.org>
In-Reply-To: <164519474663.16853.11644347542089865375@ietfa.amsl.com>
References: <164519474663.16853.11644347542089865375@ietfa.amsl.com>
Date: Fri, 18 Feb 2022 18:59:35 -0000
From: "RFC ISE (Adrian Farrel)" <rfc-ise@rfc-editor.org>
To: Magnus Westerlund <magnus.westerlund@ericsson.com>
Cc: tsv-art@ietf.org, draft-briscoe-docsis-q-protection.all@ietf.org
Reply-To: rfc-ise@rfc-editor.org
User-Agent: SquirrelMail/1.4.21
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/wgOetQG4RcUK6DPtvprFnuZclqY>
Subject: Re: [Tsv-art] Tsvart early review of draft-briscoe-docsis-q-protection-02
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Feb 2022 18:59:49 -0000

Magnus,

Very many thanks for a helpful and clear review.

Cheers,
Adrian



Magnus Westerlund via Datatracker wrote:
> Reviewer: Magnus Westerlund
> Review result: Ready with Issues
>
> To first attempt to answer the review request questions.
>
> The Independent Stream Editor is keen to receive a review with two
> aspects:
> "- Does this document overlap with or otherwise infringe upon any IETF
> work?"
>
> It is clearly related to the L4S work in TSVWG. However, as it describes a
> particular implementation of an queue protection algorithm by DOCSIS I
> don't
> see it infringing upon any IETF work.
>
> "- Does this document read well to someone with Transport and Congestion
> control background?"
>
> It is understandable with a few exception that I will comment on below
> when
> clarity can be improved. In general I think it is close to being ready for
> publication. Just some issues that needs to be addressed.
>
> 1. Section 4.1:
>
> AGING = pow(2, (LG_AGING-30) ) * T_RES    // lg([B/s]) to [B/T_RES]
>
> So the -30 is here is instead of dividing by 1E9? How much does the
> rounding
> error of ~7% impact? To my understanding the aging value will be smaller
> than
> intended with those 7%.
>
> 2. Section 4.1:
>
> NBUCKETS = pow(2, BI_SIZE);  // No. of non-default buckets
> MASK = NBUCKETS-1;           // convenient constant, filled with ones
>
> This appears to be a calculation that is based on that NBUCKETS and MASK
> are
> int and not floating point values? I would also note that MASK will not be
> filled with 1, only have NBUCKETS of ones at the lower bits using integer
> arithmetic. Does this document need clear conventions for when floating
> point
> is used versus integer arithmetic?
>
> 3. Section 4.1:
>
> // Minimum marking threshold of 2 MTU for slow links [ns]
> FLOOR =  2 * 8 * MAX FRAME SIZE * 10^9 / MAX RATE;
>
> Should not MAX FRAME SIZE and MAX RATE be an input parameters although
> implementation specific ones? I would also note that they are not written
> as
> parameters or constants here for any programming language I know of.
>
> 4. Section 4.2.1
>
>    // if (bckt_id->t_exp risks overflow)    // Details not shown
>    //    return EXIT_SANCTION;
>
> I don't understand this. If the issue that one attempts to protect against
> is
> that t_exp becomes larger than what the variable supports? What I can see
> of
> how t_exp is used it must not wrap and is carrying the devices
> understanding of
> time progression in T_RES ticks. So what overflow is intended here? And I
> would
> note that fill_bucket prevents t_exp from never being more that
> qLSCORE_MAX
> further into the future than now.
>
> 5. Section 4.2.2:
>
> What happens when ATTEMPTS * BI_SIZE > 32? The lack of handling of this
> case,
> is it assumed that one would never configure this algorithm so that
> (ATTEMPTS -
> N)* BI_SIZE > 32 would be true for N=2 or larger where h32 would be zeros
> and
> empty for multiple attempts. It appears like there will be no significant
> failure, only hash collisions which reduces the actual attempts to fewer
> than
> ATTEMPTS. Should there be a warning here that if (ATTEMPTS - 1) * BI_SIZE
> is
> larger than 32 bit a larger hash size should be used?
>
> 6. Section 5.5:
> This might be detected when the bucket expiry time t_exp exceeds a
> threshold,
> which could also conveniently prevent overflow of the t_exp variable (see
> the
> qprotect() function in Section 4.2.1).
>
> In relation to earlier comment. It is not clear what is overload here.
>
>
>
>


-- 
Adrian Farrel (ISE),
rfc-ise@rfc-editor.org