Hi Pete, 

On 12/3/18, 2:19 PM, "Pete Resnick" <[email protected]> wrote:

    Reviewer: Pete Resnick
    Review result: Ready with Issues
    
    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 wait for direction from your
    document shepherd or AD before posting a new version of the draft.
    
    For more information, please see the FAQ at
    
    <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
    
    Document: draft-ietf-ospf-ospfv3-segment-routing-extensions-19
    Reviewer: Pete Resnick
    Review Date: 2018-12-03
    IETF LC End Date: 2018-11-16
    IESG Telechat date: 2018-12-06
    
    Summary: I think this document is ready, and I certainly don't want to 
stand in
    the way of it moving forward, but I do want to note the following issues I
    mentioned in my previous review. The document editor notes that similar 
sorts
    of things have been done in previous OSPF document without problems, but 
they
    still make me nervous. Thanks to the editor for quickly addressing all of 
the
    issues in my previous review.
    
    Major/minor issues:
    
    In 3.1:
    
          Length: Either 3 or 4 octets
    
          SID/Label: If length is set to 3, then the 20 rightmost bits
          represent a label.  If length is set to 4, then the value
          represents a 32-bit SID.
    
    This sort of mechanism worries me. The Length is not a length, but rather a
    flag. This means you can't have a general parsing implementation, as it 
would
    treat the field as a length and get the left-most 24 bits when the value is 
3.
    Even if the implementation chooses the right-most 24 bits, it's only 
supposed
    to take the right-most 20 bits and mask off the extra 4 bits, which are not
    required to be zeroed. I understand that similar things have been done 
before
    without problems, but this seems like an implementation accident waiting to
    happen.
    
    In 7.1 and 7.2:
    
    When the V-flag is set (making SID/Index/Label is a label), the value is in 
the
    low 20 bits of the first 3 bytes of the field (i.e., bits 4-23). As with the
    comment regarding 3.1, this seems like it has the potential for 
implementation
    problems. You could explicitly say to mask of bits 0-3 and 24-31 (since 
there
    is no requirement for producing implementations to clear those bits) and 
shift
    the value 8 bits to the right, but this just seems like a bad way to design
    this. That said, I again understand that similar things have been done 
before
    without problems.

While both you and I would have done it differently, the variable length SID 
encoding across the three LSR protocols (OSPFv2, OSPFv3, and IS-IS) has been 
implemented, deployed, and will not be changed during the IESG review (you'll 
note these SR protocol drafts have been in development for over 5 years). There 
is, however, an update to all three which clarifies the usage of the flags. See 
(for example): 

    
https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-ospf-ospfv3-segment-routing-extensions-20.txt

Thanks, 
Acee (Document Shepherd and LSR Co-chair) 


    
    Nits/editorial comments:
    
    None.
    
    

_______________________________________________
Lsr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lsr

Reply via email to