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

From: The IESG <[email-masked]>
Date: Wed, 16 Nov 2016 20:43:53 -0800

The IESG has received a request from the IPv6 over Networks of
Resource-constrained Nodes WG (6lo) to consider the following document:
- '6lowpan ESC Dispatch Code Points and Guidelines'
  <draft-ietf-6lo-dispatch-iana-registry-06.txt> as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits
final comments on this action. Please send substantive comments to the
[email-masked] mailing lists by 2016-12-08. Exceptionally, comments may be
sent to [email-masked] instead. In either case, please retain the
beginning of the Subject line to allow automated sorting.

Abstract

   RFC4944 defines the ESC dispatch type to allow for additional
   dispatch bytes in the 6lowpan header.  The value of the ESC byte was
   updated by RFC6282, however, its usage was not defined either in
   RFC6282 or in RFC4944.  This document updates RFC4944 and RFC6282 by
   defining the ESC extension byte code points including registration of
   entries for known use cases at the time of writing of this document.

The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-6lo-dispatch-iana-registry/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-6lo-dispatch-iana-registry/ballot/

No IPR declarations have been submitted directly on this I-D.

---

From: [email-masked] (Dale R. Worley)
Date: Thu, 17 Nov 2016 20:48:50 -0500

Comments on draft-ietf-6lo-dispatch-iana-registry-06.

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)?

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.
A better term would be "are in separate number spaces".  That change
results in:

3.  Usage of ESC dispatch bytes

   Thus, ESC extension types and dispatch values are in different
   number spaces.

3.4.  NALP and ESC bytes

   Since ESC bytes are part of 6lowpan dispatch types (extended), they
   are in a different number space from NALP bytes.

--

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".

--

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".

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".  I think this would be clearer and more correct if the
figure was

   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 0 0 0 0 0 0| ESC EXT Type  | Extended Dispatch Payload
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

and the text was

   The left-most byte is the ESC dispatch type containing '01000000'.

An alternative would be

   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
   |0 1 0 0 0 0 0 0|               |                           
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

--

   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)".

   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.  This seems
better:

   Section 5.1 in RFC4944 envisions the Extension Type field as
   providing a following 8-bit byte to contain a dispatch type, as
   opposed to the normal 6-bit field in the dispatch byte.  In that
   model, extension types are in the same number space as the dispatch
   values.  This document defines the Extension Type field as an 8-bit
   field whose values are in a different number space from dispatch
   values.  Thus, an implementation MUST process dispatch values and
   Extension Types according to the distinct definitions of those
   number spaces, and the definition of an Extension Type does not
   change the definition of the numerically equal dispatch value.

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".

   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.

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.

However, if this section is kept, Figure 2 should be regularized,
e.g., as:

   A LoWPAN encapsulated IPv6 Header compressed packet:

   +-------+------+--------+----------+-----------------+--------+
   | ESC   | EET  | EDP    | Dispatch | LOWPAN_IPHC hdr | Payld  |
   +-------+------+--------+----------+-----------------+--------+

   A LoWPAN_IPHC Header, Mesh header and an ESC extension byte:

   +-------+-------+-----+-----+-----+----------+-
   | M Typ | M Hdr | ESC | EET | EDP | Dispatch | 
   +-------+-------+-----+-----+-----+----------+-

	   -+-----------------+-------+
	    | LOWPAN_IPHC hdr | Payld |
	   -+-----------------+-------+

   A Mesh header with ESC bytes
   +-------+-------+-----+-----+-------+
   | M Typ | M Hdr | ESC | EET | EDP   |
   +-------+-------+-----+-----+-------+

   With Fragment header

   +-------+-------+--------+-------+------+-----+-------+
   | M Typ | M Hdr | F Typ  | F hdr | ESC  | EET |  EDP  |
   +-------+-------+--------+-------+------+-----+-------+

   ESC byte as a LowPAN encapsulation

   +--------+--------+--------+
   | ESC    | EET    | EDP    |
   +--------+--------+--------+

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:

   The ITU-T recommendation [G3-PLC] section 9.4.2.3 defines commands
   which are formatted like like ESC Extension type fields.  The
   command ID values are 0x01 to 0x1F.

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.

Dale