Subject: Re: [6lo] Last Call: <draft-ietf-6lo-dispatch-iana-registry-06.txt> (6lowpan ESC Dispatch Code Points and Guidelines) to Proposed Standard

From: james woodyatt <[email-masked]>
Date: Mon, 5 Dec 2016 15:24:24 -0800

On Nov 17, 2016, at 17:48, Dale R. Worley <[email-masked]> wrote:
> 
> Comments on draft-ietf-6lo-dispatch-iana-registry-06.

Thank you for reviewing this draft! I’m composing this response as a collation of the discussion between the other authors and me. A new revision that we believe addresses many of your comments is forthcoming, and we look forward to any additional comments you can provide us.

> All of these comments are editorial, though in one or two cases, the
> editorial change should make the technical content considerably clearer.
> 
> This document uses "byte" where the general practice seems to be to
> use "octet".  Which term should we use (and why)?

It’s complicated, and there is a historical legacy here. The history is that “byte” and “octet” have been used interchangeably in RFC 4944 and RFC 6282 when the word “octet” is more precise. The complication is that the phrases “dispatch byte” and “dispatch value” have slightly different technical meanings implied by the text in RFC 4944. After some discussion we decided not to expand on the explanation of the issue in the errata for RFC 4944, and simply global search and replace “octet” for “byte” throughout this draft. This continues the convention established in RFC 6282 of using the special phrase “dispatch octet” as a synonym for “dispatch byte” and we expect this meaning to be inferred by readers and for it therefore not to require any further expansion. Of course, we expect the RFC Editor to have the last word on this topic.

On a related note, we will also change all instances of the special phrase “ESC byte” accordingly to the phrase “ESC dispatch type” which was introduced in RFC 6282 when the ESC mechanism was redefined from RFC 4944. It’s perhaps not as clear as we’d all like, but it has the merit of having already been used consistently for this purpose in RFC 6282.

> In several places, the dispatch values and the extension types are
> said to be "orthogonal code spaces".  It seems to me that this is not
> quite correct, as generally two things are said to be "orthogonal"
> only if all possible values of one can be combined with all possible
> values of the other, and that concept makes no sense in this context.
> […]

We think leaving this question for the RFC Editor to decide is appropriate.

> --
> 
> The general practice seems to be to capitalize "all important words"
> in section titles (vs. capitalizing only the first word).  In that
> case, the title of section 3 should be "Usage of ESC Dispatch Bytes",
> and the title of section 3.1 should be "Interaction with Other RFC4944
> Implementations”.

We think leaving this question for the RFC Editor to decide is appropriate.

> --
> 
> 1.  Introduction
> 
>   RFC 6282 modifies the value of the ESC dispatch type and it
>   is recorded in IANA registry [6LOWPAN-IANA].
> 
> This would be clearer if "it is recorded" was "that value is
> recorded”.

Done.

> 3.  Usage of ESC dispatch bytes
> 
>   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>   |0 1| ESC       | ESC EXT Type  | Extended Dispatch Payload
>   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
>                   Figure 1: Frame Format with ESC Byte
> 
>   ESC: The left-most byte is the ESC dispatch type containing
>   '01000000'
> 
> This diagram is awkward, as the text suggests that "ESC" is
> "01000000", whereas the figure shows "ESC" to be bits 2-7, which are
> "000000”.  

We agree. Changing to this:

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     ESC       | ESC EXT Type  | Extended Dispatch Payload
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 1: Frame Format with ESC dispatch type
 
   ESC: The left-most octet is the ESC dispatch type containing
   '01000000'

> --
> 
>   Extended Dispatch Payload(EDP): This part of the frame format must be
>   defined by the corresponding extension type.
> 
> There should be a space before "(EDP)”.

Done.

>   Section 5.1 in RFC4944 indicates that the Extension Type field may
>   contain additional dispatch values larger than 63, as corrected by
>   [4944-ERRATA].  For the sake of interoperability, the new dispatch
>   type (EET) MUST NOT modify the behavior of existing dispatch types
>   [RFC4944].
> 
> This doesn't seem to truly capture what has happened.  […]

After some discussion, we decided to leave this "MUST NOT" the way it is written (as a requirement on specifications of future EET semantics), and not attempt to reverse this into a MUST requirement (on implementations of 6LoWPAN processors). The purpose of this statement is to encourage the use of I-D.ietf-6lo-paging-dispatch to introduce new dispatch types rather than to define ESC Extension Type (EET) values to modify the semantics of existing dispatch types. I’m not sure what would improve the clarity of this statement.

> 3.1.  Interaction with other RFC4944 implementations
> 
>   It is expected that RFC4944 existing implementations are not capable
> 
> Probably change "RFC4944 existing implementations" to "existing
> implementations of RFC4944”.

Done.

>   Sequence Of dispatch bytes and ESC bytes: Multiple ESC extension
>   bytes may appear in a packet.
> 
> I think the words "Sequence Of dispatch bytes and ESC bytes:" don't
> add much and can be deleted.

Done.

> 3.2.  ESC Extension Bytes Typical Sequence
> 
> It's not clear to me what the purpose of this section is.  To some
> degree, it seems to list some examples of ESC usage ("Typical
> Sequence") but it also seems to want to define when ESC can be used
> ("sequence and order ... are described below").  Really, where a
> particular EET can appear is defined by the specification of that
> particular EET, and what can appear after a particular EET is also
> defined in that specification.  So there really can't be any *generic*
> specification of how ESC can be used.

We think leaving this question for the RFC Editor to decide is appropriate.

> 
> 3.3.  ITU-T G.9903  ESC type usage
> 
>   The ITU-T recommendation
>   defines command IDs in the [G3-PLC] section 9.4.2.3 which operates
>   like ESC Extension type field.  The command ID values are 0x01 to
>   0x1F.
> 
>  Less awkward is […]

We agree this is awkward. It will be improved.

> 4.  IANA Considerations
> 
>   The allocation of code points should follow the guidelines on "Usage
>   Of ESC Dispatch Bytes" and the typical example sections.
> 
> This version of the title of section 3 doesn't match the section itself.

Corrected.

--james woodyatt <[email-masked] <mailto:[email-masked]>>