Hi Pete, On 12/3/18, 2:19 PM, "Pete Resnick" <resnick@xxxxxxxxxxxx> 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.