Telechat Review of draft-ietf-6tisch-6top-protocol-09

Request Review of draft-ietf-6tisch-6top-protocol
Requested rev. no specific revision (document currently at 10)
Type Telechat Review
Team General Area Review Team (Gen-ART) (genart)
Deadline 2018-03-06
Requested 2018-02-05
Other Reviews Iotdir Early review of -09 by Alexander Pelov (diff)
Genart Last Call review of -10 by Brian Carpenter
Review State Completed
Reviewer Brian Carpenter
Review review-ietf-6tisch-6top-protocol-09-genart-telechat-carpenter-2018-02-19
Posted at
Reviewed rev. 09 (document currently at 10)
Review result Ready with Issues
Draft last updated 2018-02-19
Review completed: 2018-02-19


Gen-ART Last Call review of draft-ietf-6tisch-6top-protocol-09

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

Document: draft-ietf-6tisch-6top-protocol-09.txt
Reviewer: Brian Carpenter
Review Date: 2018-02-20
IETF LC End Date: 2018-??-??
IESG Telechat date: 2018-03-06

Summary: Ready with issues


This is a Last Call review despite the subject field. When will the Last
Call be started?

Major issues:

In section 3.1.1 "2-step 6P Transaction" there seems to be a race condition
if A's timeout expires while B's Response is in flight. Can the 6top layer
prevent the L2 Ack being sent? (And similar race conditions seem to be
possible in the 3-step transaction.)

> 3.4.3.  Concurrent 6P Transactions
>  Only a single 6P Transaction between two neighbors, in a given
>  direction, can take place at the same time.  That is, a node MUST NOT
>  issue a new 6P Request to a given neighbor before having received the
>  6P Response for a previous request to that neighbor, except when the
>  previous 6P Transaction has timed out.  If a node receives a 6P
>  Request from a given neighbor before having sent the 6P Response to
>  the previous 6P Request from that neighbor, it MUST send back a 6P
>  Response with a return code of RC_RESET (as per Figure 36).  A node
>  receiving RC_RESET code MUST abort the transaction and consider it
>  never happened.

It isn't clear to me whether the RC_RESET aborts the first, the second,
or both transactions.

Minor issues:

> 1.  Introduction
>  6P
>  allows a node to communicate with a neighbor to add/delete TSCH cells
>  to one another.

This sentence is almost unintelligible because of the sequence
Does it mean this?:

  6P allows neighbours to add or delete TSCH cells in each other.

> 3.4.1.  Version Checking

This may be a pointless worry, but is there a DOS attack of some kind
by sending rubbish version numbers?