Last Call Review of draft-ietf-manet-dlep-multi-hop-extension-06

Request Review of draft-ietf-manet-dlep-multi-hop-extension
Requested rev. no specific revision (document currently at 07)
Type Last Call Review
Team Transport Area Review Team (tsvart)
Deadline 2019-04-05
Requested 2019-03-15
Authors Bow-Nan Cheng, Lou Berger
Draft last updated 2019-04-09
Completed reviews Rtgdir Last Call review of -06 by Russ White (diff)
Secdir Last Call review of -06 by Derrell Piper (diff)
Tsvart Last Call review of -06 by Bob Briscoe (diff)
Opsdir Last Call review of -07 by Tim Chown
Assignment Reviewer Bob Briscoe
State Completed
Review review-ietf-manet-dlep-multi-hop-extension-06-tsvart-lc-briscoe-2019-04-09
Reviewed rev. 06 (document currently at 07)
Review result Ready with Issues
Review completed: 2019-04-09


This document has been reviewed as part of the transport area review team's
ongoing effort to review key IETF documents. These comments were written
primarily for the transport area directors, but are copied to the document's
authors and WG to allow them to address any issues raised and also to the IETF
discussion list for information.

When done at the time of IETF Last Call, the authors should consider this
review as part of the last-call comments they receive. Please always CC if you reply to or forward this review.

AFAICT, there's nothing technically wrong, but I believe the authors use of normative text does not convey the meaning they intended, in nearly every case.  It will be seen below that there seems to be a general misunderstanding of the use of, 'SHOULD do X' when there will never be a case when X should not be done. 'SHOULD' and 'MAY' need to be used judiciously, because they make interoperability harder.

==Inappropriate Normative Text==

"The use of the Multi-Hop Forwarding Extension SHOULD be configurable. "
{I think you mean it SHOULD be possible to enable/disable the extension? On a modem. a router or both? In what circumstances would it not be configurable (if none, then MUST would be appropriate)? What happens if one device uses the extension and another doesn't? This last question also applies for incremental deployment.}

"The Hop Count Data Item SHOULD be carried in the Destination Up, Destination Update, Destination Announce Response, and Link Characteristics Response messages."
{I don't think the use of "SHOULD" here achieves what you intend. I think you're trying to say that this data item can only be carried in these 4 messages. But what you've said is that all these messages SHOULD contain a Hop Count data item. If any normative text is needed here, I think it would say this data item MUST NOT be carried in messages other than these 4. But maybe just substitute 'SHOULD' with 'can'?}

The Hop Control Data Item MAY be carried in a Session Update Message sent by a router when the control applies to the whole device, or a Link Characteristics Request Message when the control applies to a particular destination.
{Again, I think you're trying to say, "If used, the Hop Control Data Item MUST only be carried in" of these two message types.}

"A modem that receives the Hop Control Data Item in a [XXX] Message SHOULD take whatever actions are needed to make the change indicated by the data item for [YYY]." (two occurrences)
{Inappropriate use of SHOULD: a) Surely a modem MUST "take whatever actions are needed." Why would it not? b) Anyway, it's meaningless to normatively require a vaguely defined action}

S.3.2.3 Direction Connection

"It indicates that the modem SHOULD attempt to establish a direct connection with the destination identified in the message."
{I think you mean 'MUST'. Why would it not even attempt to?} 

"This action SHOULD only be sent for destinations for which the Hop Count is greater than 1 and has the P-Bit set in the previously received Hop Count Data Item."
{I think you mean MUST. Why would it be sent otherwise?}

S.3.2.4. Suppress Forwarding
I suggest that you don't gratuitously switch from 'MUST' to 'SHALL' just for this section? Many implementers search the text for 'MUST'.


RFC8175 says 
   'For all "networked deployments" ..., the implementation and use of TLS are STRONGLY RECOMMENDED.'

I believe it would be worth identifying which extensions would be unsafe if TLS were not used. Certainly all the Multi-Hop Extensions would be unsafe if not authenticated.

==General Nits==
Inappropriate and/or inconsistent capitalization of certain phrases, like 'Data Item' or 'Action' or 'Message'.

==Specific Nits==
I've provided suggested corrections in the following xml files: