Last Call Review of draft-ietf-opsec-ipv6-eh-filtering-06
review-ietf-opsec-ipv6-eh-filtering-06-rtgdir-lc-bryant-2018-12-05-00

Request Review of draft-ietf-opsec-ipv6-eh-filtering
Requested rev. no specific revision (document currently at 06)
Type Last Call Review
Team Routing Area Directorate (rtgdir)
Deadline 2018-12-05
Requested 2018-11-20
Requested by Alvaro Retana
Draft last updated 2018-12-05
Completed reviews Secdir Last Call review of -06 by Nancy Cam-Winget
Tsvart Last Call review of -06 by Michael Scharf
Genart Last Call review of -06 by Vijay Gurbani
Rtgdir Last Call review of -06 by Stewart Bryant
Assignment Reviewer Stewart Bryant
State Completed
Review review-ietf-opsec-ipv6-eh-filtering-06-rtgdir-lc-bryant-2018-12-05
Reviewed rev. 06
Review result Has Issues
Review completed: 2018-12-05

Review
review-ietf-opsec-ipv6-eh-filtering-06-rtgdir-lc-bryant-2018-12-05

I have been selected as the Routing Directorate reviewer for this draft. The Routing Directorate seeks to review all routing or routing-related drafts as they pass through IETF last call and IESG review. The purpose of the review is to provide assistance to the Routing ADs. For more information about the Routing Directorate, please see ‚Äčhttp://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir

Although these comments are primarily for the use of the Routing ADs, it would be helpful if you could consider them along with any other IETF Last Call comments that you receive, and strive to resolve them through discussion or by updating the draft.

Document: draft-ietf-opsec-ipv6-eh-filtering-06
Reviewer: Stewart Bryant
Review Date: 5 December 2018 
Intended Status: Informational

Summary:  This is a comprehensive and well written document. However the IESG needs to think carefully about whether this document end-runs the protocol development process. 

Comments: 

It is clear from the discussion on the list about this text that there is a disconnect between protocol theory, protocol implementation and protocol deployment with regard to IPv6 that needs to be resolved in the IETF, and which may be of broader scope than this text. Reading the text and the associated references I share those concerns.

Major Issues: 

I am worried about the fragmented filter that this document attempts to mandate. It is easy to see why a router on the edge of its performance envelope would take the view :

"if not UDP | TCP: slow path" 
if small queue to slow path full: drop

Whilst this document performs a solid analysis of what actions should be taken on an option, it ought to make it clearer to the reader that how a router handles options needs to be a pragmatic engineering and business decision taken by the vendor and network operator.

3.4.2.5.  Advice

   Intermediate systems should discard packets containing a RHT0 or
   RHT1.  Other routing header types should be permitted, as required by
   [RFC7045].

SB> There also need to be advice to the protocol designers to
SB> avoid the problems that got RHT0 deprecated in the first place.
SB> Also, given the emergency deprecation of RHT0 there ought to
SB> be a requirement on the fast path that it can block any RH type
SB> at any time in the future.

Minor Issues: 

The document includes the RFC 2119 template and makes very occasional use of RFC 2119 language, but as I read through the text I found instances where it looked as if such language could be usefully used but was not used. It is possible that the authors took the view that RFC 2119 language would only be used in quoted text, in which case a clarifying note to this effect might be useful.

==============

   o  Ignore this IPv6 EH or option type (as if it was not present) and
      forward the packet.  We note that if a packet carries forwarding
      information (e.g., in an IPv6 Routing Header) this might be an
      inappropriate or undesirable action.

SB> If the node in question needed to see the routing information isn't
SB> that a misconfiguration that should never happen?

=============

   Finally, we note that when discarding packets, it is generally
   desirable that the sender be signaled of the packet drop, since this
   is of use for trouble-shooting purposes.  

SB> Without further qualification of the action, isn't that also an attack vector 
SB> for a target "sender"?

=============
4.3.7.5.  Advice

   Intermediate systems should discard packets that contain this option.
SB> I think you mean should by default discard packets containing this option.
SB> Otherwise this sentence technically conflicts with the next.

   Only in specific environments where support for RSVP, multicast
   routing, or similar protocols is desired, should this option be
   permitted.

=============
4.3.8.5.  Advice

   Intermediate systems should not discard IPv6 packets based on the
   presence of this option.

SB> Shouldn't this advice be more qualified given the advise in 4.3.8.4

=============
4.3.10.5.  Advice

   Intermediate system should discard packets that contain this option.

SB> Shouldn't that be intermediate systems not in a MANET should...?


=============

Nits: 

   Blocking packets containing a RHT0 or RTH1 has no operational
SB> That should be RHT1 in your notation)

=============

Checking references for intended status: Informational
  ----------------------------------------------------------------------------

  == Unused Reference: 'RFC4304' is defined on line 1412, but no explicit
     reference was found in the text

  == Unused Reference: 'I-D.ietf-6man-hbh-header-handling' is defined on line
     1554, but no explicit reference was found in the text