Re: [core] [Gen-art] Genart last call review of draft-ietf-core-new-block-10

Lars Eggert <lars@eggert.org> Wed, 05 May 2021 08:01 UTC

Return-Path: <lars@eggert.org>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61E2F3A16C9; Wed, 5 May 2021 01:01:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=eggert.org
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 gLltb1saYfMy; Wed, 5 May 2021 01:01:16 -0700 (PDT)
Received: from mail.eggert.org (mail.eggert.org [IPv6:2a00:ac00:4000:400:211:32ff:fe22:186f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B38CA3A16C6; Wed, 5 May 2021 01:01:15 -0700 (PDT)
Received: from smtpclient.apple (unknown [IPv6:2a00:ac00:4000:400:54ca:2d0:fd87:7c95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.eggert.org (Postfix) with ESMTPSA id 952D6600353; Wed, 5 May 2021 11:01:06 +0300 (EEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eggert.org; s=dkim; t=1620201666; bh=vmMADrZLs70Xap2SfOpv8Yq7ai9AKHozU7tfr0+gigM=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=Z4edYMadZ/iyA5RO6uScyq5V6kEf6oTw8ze0HK+jChpvqVzYo3cngVYi/ODh6j90y xKVDmiVoOkUG+AZami4ii0zg5UHaZtPR+2PKX1ztpG/56qbP63NaF8j49dBA3f/+PA PGL4+bhMdTyPcdUsiKfu0iixmTFAlogNTYR6JrXU=
From: Lars Eggert <lars@eggert.org>
Message-Id: <7C241E58-84B1-4D11-88A3-B602CD547C3A@eggert.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_FBDE6074-B569-40D3-8285-FAD08225BE51"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\))
Date: Wed, 5 May 2021 11:01:03 +0300
In-Reply-To: <161930002269.19583.4502578348808948027@ietfa.amsl.com>
Cc: gen-art@ietf.org, last-call@ietf.org, draft-ietf-core-new-block.all@ietf.org, core@ietf.org
To: Pete Resnick <resnick@episteme.net>
References: <161930002269.19583.4502578348808948027@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3654.80.0.2.43)
X-MailScanner-ID: 952D6600353.A0E68
X-MailScanner: Found to be clean
X-MailScanner-From: lars@eggert.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/WjLZw6KTJQq-ezA_u8Uq9rXz1MI>
Subject: Re: [core] [Gen-art] Genart last call review of draft-ietf-core-new-block-10
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 May 2021 08:01:21 -0000

Pete, thank you for your review and thank you all for the following discussion. I have entered a Discuss ballot for this document based on my own review.

Lars

On 2021-4-25, at 0:33, Pete Resnick via Datatracker <noreply@ietf.org> wrote:
> 
> Reviewer: Pete Resnick
> Review result: Ready with Issues
> 
> I am the assigned Gen-ART reviewer for this draft. The General Area
> Review Team (Gen-ART) reviews all IETF documents being processed
> by the IESG for the IETF Chair.  Please treat these comments just
> like any other last call comments.
> 
> For more information, please see the FAQ at
> 
> <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
> 
> Document: draft-ietf-core-new-block-10
> Reviewer: Pete Resnick
> Review Date: 2021-04-24
> IETF LC End Date: 2021-04-28
> IESG Telechat date: Not scheduled for a telechat
> 
> Summary:
> 
> The document looks pretty solid to me. There is one item I marked as a minor
> "issue", but it may simply be an editorial item that confused me; I figured I'd
> call it an issue just in case so it doesn't get left to the last minute to look
> at.
> 
> Do note that I have not reviewed the examples for correctness; I simply don't
> have the expertise to be convinced I'd do it right.
> 
> Major issues:
> 
> None.
> 
> Minor issues:
> 
> In section 4.4:
> 
> I find this paragraph confusing:
> 
>   The requested missing block numbers MUST have an increasing block
>   number in each additional Q-Block2 Option with no duplicates.  The
>   server SHOULD respond with a 4.00 (Bad Request) to requests not
>   adhering to this behavior.
> 
> So, given the SHOULD in the second sentence, it appears that the MUST in the
> first sentence doesn't apply to the server (i.e., to enforce this), but rather
> to the client doing the request. You should probably say it that way. Also, the
> SHOULD in the second sentence is not entirely clear to me: Are you saying that
> the server can choose to use some other response code, or are you saying that
> the server can accept the request and do something interesting with it? Below
> is an attempt to fix it, but might not be correct depending on what you mean:
> 
>   The client MUST use an increasing block number in each additional
>   Q-Block2 Option when requesting missing block numbers, and MUST
>   request no duplicates.  The server MUST reject requests  not adhering
>   to this behavior and SHOULD respond with a 4.00 (Bad Request) to such
>   requests.
> 
> There are other places in the document that use MUST with regard to what needs
> to be in a piece of data (see for example sections 4.5 and 4.6), but don't make
> it clear who is responsible for enforcing that MUST (the client or the server).
> You should read through the entire document for MUSTs (or SHOULDs) like that
> and make sure it's clear from the context.
> 
> Nits/editorial comments:
> 
> In section 4.3:
> 
> In several response code definitions:
> 
>   The token used MUST be any token that was received in a request using
>   the same Request-Tag.
> 
> That doesn't really parse well. I think you either mean "The token used MUST be
> a token" or you mean "The token used can be any token".
> 
> Specific response codes:
> 
>   4.00 (Bad Request)
> 
>      This Response Code MUST be returned if the request does not
>      include neither a Request-Tag Option nor a Size1 Option but does
>      include a Q-Block1 option.
> 
> Either change "neither...nor" to "either or", or change "does not include" to
> "includes".
> 
>   4.02 (Bad Option)
> 
>      Either this Response Code (in case of Confirmable request) or a
>      reset message (in case of Non-confirmable request) MUST be
>      returned if the server does not support the Q-Block Options.
> 
> That sort of buries a MUST requirement for the Non-confirmable case inside this
> requirement for a Response Code. I suggest instead:
> 
>      This Response Code MUST be returned for a Confirmable request if
>      the server does not support the Q-Block Options. (A reset message
>      is sent in case of Non-confirmable request.)
> 
> In section 4.4:
> 
> The passive here is not great form, particularly because it doesn't name the
> actor:
> 
>   It is permissible to set the M bit to request this...
> 
> How about instead:
> 
>   The client MAY set the M bit to request this...
> 
> Maybe that's obvious, since the client does the requesting, but I think the
> non-passive form is easier to read.
> 
> In the second to last paragraph:
> 
>   If the server transmits a new body of data (e.g., a triggered Observe
>   notification) with a new ETag to the same client as an additional
>   response, the client should remove any partially received body held
>   for a previous ETag for that resource as it is unlikely the missing
>   blocks can be retrieved.
> 
> I'm ambivalent about whether that "should" ought to be uppercased, but I just
> wanted to make sure you intended the lowercase.
> 
> In section 7.2:
> 
>   For the server receiving NON Q-Block1 requests, it SHOULD send back a
>   2.31 (Continue) Response Code on receipt of all of the MAX_PAYLOADS
>   payloads to prevent the client unnecessarily delaying.  Otherwise...
> 
> When you say "Otherwise", Do you mean, "For other payloads"? Either way, you
> should probably change that to make it clear.
> 
> 
> 
> _______________________________________________
> Gen-art mailing list
> Gen-art@ietf.org
> https://www.ietf.org/mailman/listinfo/gen-art