Re: [core] I-D Action: draft-ietf-core-new-block-05.txt

supjps-ietf@jpshallow.com Mon, 18 January 2021 14:16 UTC

Return-Path: <jon.shallow@jpshallow.com>
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 3B0F53A1311 for <core@ietfa.amsl.com>; Mon, 18 Jan 2021 06:16:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 WDz4g7WvspbF for <core@ietfa.amsl.com>; Mon, 18 Jan 2021 06:16:10 -0800 (PST)
Received: from mail.jpshallow.com (mail.jpshallow.com [217.40.240.153]) (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 008A63A1145 for <core@ietf.org>; Mon, 18 Jan 2021 06:16:09 -0800 (PST)
Received: from mail2.jpshallow.com ([192.168.0.3] helo=N01332) by mail.jpshallow.com with esmtp (Exim 4.92.3) (envelope-from <jon.shallow@jpshallow.com>) id 1l1VKA-0005K0-UZ; Mon, 18 Jan 2021 14:16:07 +0000
From: supjps-ietf@jpshallow.com
To: Marco Tiloca <marco.tiloca@ri.se>, mohamed.boucadair@orange.com, core@ietf.org
Cc: draft-ietf-core-new-block@ietf.org, dots@ietf.org
References: <161056117925.23400.10291073677288718681@ietfa.amsl.com> <24069_1610561621_5FFF3855_24069_12_1_787AE7BB302AE849A7480A190F8B9330315B92B9@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <15aa1f32-db32-6c9a-70dc-b30ed6f33466@ri.se> <00d701d6eb31$05fe11f0$11fa35d0$@jpshallow.com> <4feb5743-4193-97f1-5231-038b1838b934@ri.se>
In-Reply-To: <4feb5743-4193-97f1-5231-038b1838b934@ri.se>
Date: Mon, 18 Jan 2021 14:16:23 -0000
Message-ID: <033b01d6eda4$8013a980$803afc80$@jpshallow.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQINhJL1nc88GwsEKn+AjV1kVr7Y4AGmsrCNATjbvioB8R1SgQKCeaN3qYWl4aA=
Content-Language: en-gb
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/GCdCD3BPHwB2J5pujybMAnHvchs>
Subject: Re: [core] I-D Action: draft-ietf-core-new-block-05.txt
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: Mon, 18 Jan 2021 14:16:13 -0000

Hi Marco,

We have updated github [1] to take account of your latest comments for your review.

Regards

Jon


[1]https://www.ietf.org/rfcdiff?url1=draft-ietf-core-new-block&url2=https://raw.githubusercontent.com/core-wg/new-block/master/draft-ietf-core-new-block.txt


> -----Original Message-----
> From: Marco Tiloca [mailto: marco.tiloca@ri.se]
> Sent: 15 January 2021 13:58
> To: jon@jpshallow.com; mohamed.boucadair@orange.com; core@ietf.org
> Cc: draft-ietf-core-new-block@ietf.org; dots@ietf.org
> Subject: Re: [core] I-D Action: draft-ietf-core-new-block-05.txt
> 
> Hi Jon,
> 
> On 2021-01-15 12:24, supjps-ietf@jpshallow.com wrote:
> > Hi Marco,
> >
> > Thanks from this.
> >
> > So moving forward, requests for missing Q-Block2 blocks will follow
> > Section 2.7 RFC7959 being modelled on (assuming the request was using Q-
> Block1) " To continue this Block2 transfer, the client
> >    continues to send requests similar to the requests in the Block1
> >    phase, but leaves out the Block1 Options and includes a Block2
> >    request option with non-zero NUM."
> >
> > Otherwise, please see inline which has a couple of questions.
> >
> > Regards
> >
> > Jon
> >> -----Original Message-----
> >> From: Marco Tiloca [mailto: marco.tiloca@ri.se]
> >> Sent: 14 January 2021 19:58
> >> To: mohamed.boucadair@orange.com; core@ietf.org
> >> Cc: draft-ietf-core-new-block@ietf.org; dots@ietf.org
> >> Subject: Re: [core] I-D Action: draft-ietf-core-new-block-05.txt
> >>
> >> Hi Med,
> >>
> >> Thanks for the new document version.
> >>
> >> Please, see below some comments on the latest additions, also related
> >> to what Jon raised at [1].
> >>
> >> Best,
> >> /Marco
> >>
> >> [1]
> >> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmai
> >> larchive.ietf.org%2Farch%2Fmsg%2Fcore%2FOrr8a1WlSu3Dk-
> gtPQZloDT9_1E%2
> >>
> F&amp;data=04%7C01%7Cmarco.tiloca%40ri.se%7Cf30167412cf14279616708d
> 8b
> >>
> 948202a%7C5a9809cf0bcb413a838a09ecc40cc9e8%7C0%7C0%7C63746306674
> 04024
> >>
> 21%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiL
> CJBTi
> >>
> I6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=E4lIccwYQyVGHxxl9v9iBr70
> hU6
> >> BuxRrzAQoZHnZt%2B8%3D&amp;reserved=0
> >>
> >>
> >> * Section 3.5 - This seems to mix aspects specific to Observe, with
> >> more general aspects applicable to requests with a payload, i.e.
> >> FETCH (with or without Observe), PUT, POST and PATCH/iPATCH.
> > [Jon] Now that we understand what needs to be done with requesting missing
> Q-Block2 blocks, working with Observe can be simplified.
> >
> > [Jon] Requesting Observe is only valid for GET and FETCH.  Hence Observe
> request/cancellation setting when using Q-Block1 is only appropriate for FETCH.
> >
> > [Jon]  Unfortunately, RFC8132 does not specify in which of the payloads of as
> Block1 based FETCH request  should contain the Observe option assuming
> observe is required (The first, the last or all of the payloads). So, here, I believe
> the safest way to go is with all the payloads carry the observe option if observe
> is being requested or cancelled.  Thus any missing payloads should be resent with
> the observe configured to be consistent with all the other payloads. Are you
> happy with this?
> 
> ==>MT
> It makes sense to me.
> <==
> 
> >
> >>   What is specific of Observe is the first paragraph; and the usage
> >> of the Observe option in the second and third paragraph. Anything
> >> else seems generic and applicable to requests with payload, so it
> >> might be moved up to some earlier section.
> >>
> > [Jon] Sure - will be updated in the simplification tidy up.
> >> * Section 3.5 - In the third paragraph, I'm not sure you necessarily
> >> need a payload to be present in the requests asking for missing
> >> response payloads. For instance, consider:
> > [Jon] Agreed.  Now going with Section 2.7 RFC7959 where both Block1 and
> payload are not included.
> >>   - The examples in Figure 10 and Figure 11 of RFC 7959, with the
> >> note "(no payload for requests with Block2 with NUM != 0)" , during
> >> the phase where the client consecutively asks for the next response payload.
> >>
> >>   - The examples in Figure 2 and Figure 3 of [2], where each request
> >> for the next response payload using Block2 has no payload of its own.
> >>
> >> This would of course affect the example in Figure 15.
> > [Jon] Yes, will be updated.
> >> [2]
> >> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftoo
> >> ls.ietf.org%2Fhtml%2Fdraft-ietf-ace-coap-est-
> 18&amp;data=04%7C01%7Cma
> >>
> rco.tiloca%40ri.se%7Cf30167412cf14279616708d8b948202a%7C5a9809cf0bcb
> 4
> >>
> 13a838a09ecc40cc9e8%7C0%7C0%7C637463066740402421%7CUnknown%7CT
> WFpbGZs
> >>
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3
> >>
> D%7C1000&amp;sdata=cSOOuCBEP2jCRzECrJeLli6Z%2Bu%2FUlD%2F1HzVWIM7
> O7%2B
> >> Q%3D&amp;reserved=0
> >>
> >>
> >> * Section 3.5 - About the last sentence regarding the Observe option,
> >> there seems to be an exception to this rule (at least based on the
> >> later examples), where the server actually does include the Observe option in
> the response.
> > [Jon] If the Observe option is just included with the first payload (NUM = 0) as
> RFC7959, there is a recovery special case should the first payload not arrive, but
> subsequent ones do.  In the general case, blocks that are missing are re-
> requested by the client and the server responds with the appropriate block, but
> without the Observe option. For the special case when the client requests
> missing payload with NUM = 0 the server needs to know that it must include the
> Observe in the response so that the client following the body re-assembly knows
> that it is a Observe triggered additional response.
> >
> > [Jon] I had gone with the Observe should be in all the payloads in the response
> apart from specifically re-requested blocks (including NUM = 0).  The 'Continue'
> Q-Block2 was just to indicate a continue so the server can send the remaining
> payloads without delay - hence why remaining payloads had Observe set.
> >
> > [Jon] I am beginning to lean to having it in the first payload and special case
> the response to re-request of NUM = 0.  What do you think?
> 
> ==>MT
> Ok, I didn't think also of the case for NUM = 0, but that makes sense too.
> 
> Then it's certainly something better to clarify in the main text and also to
> show/comment in the example of Figure 10.
> <==
> 
> >
> >>    That is, consider the example in Figure 10, where the response
> >> with M:0xba is lost. Later on, the client asks for that response
> >> payload by sending the request with M:0x87, which correctly does not include
> the Observe option.
> >>
> > [Jon] Yes
> >>    However, the following response with M:oxc3 and (from the point of
> >> view of the server) retransmitting that response payload with block
> >> number 10 does include the Observe option.
> >>
> >>    The exception seems due to the fact that the retransmission
> >> request from the client is specifically what you call 'Continue'
> >> Q-Block-2 in Section 3.4. The Observe option is in fact not included
> >> for the previously retransmitted response payloads with M:0xbb ... M:0xc2,
> as still part of the current payload set.
> > [Jon] Correct, but obviously not obvious from the text.
> 
> ==>MT
> Right, I mostly focused on that.
> 
> I think it's worth clarifying in the main text what the normal case is for the server
> (client) to include (expect) the Observe option in a response payload; and then
> highlight the exceptions for the re-request with NUM=0 (see above) and for the
> 'Continue' Q-Block2.
> 
> Best,
> /Marco
> <==
> 
> >>
> >> * Section 3.6 - Part of the first sentence in the second paragraph
> >> seems to repeat what already said in the third paragraph of Section 3.5.
> >>
> > [Jon] Will clean up in the simplification.
> > ~Jon
> 
> --
> Marco Tiloca
> Ph.D., Senior Researcher
> 
> RISE Research Institutes of Sweden
> Division ICT
> Isafjordsgatan 22 / Kistagången 16
> SE-164 40 Kista (Sweden)
> 
> Phone: +46 (0)70 60 46 501
> https://www.ri.se
>