# RTGDIR early review of draft-ietf-bier-ping-08 Hello, I have been selected to do a routing directorate “early” review of this draft. https://datatracker.ietf.org/doc/draft-ietf-bier-ping/ The routing directorate will, on request from the working group chair, perform an “early” review of a draft before it is submitted for publication to the IESG. The early review can be performed at any time during the draft’s lifetime as a working group document. The purpose of the early review depends on the stage that the document has reached. As this document is post-working-group-last-call, my focus for the review was to determine whether the document is ready to be published. For more information about the Routing Directorate, please see https://wiki.ietf.org/en/group/rtg/RtgDir Document: draft-ietf-bier-ping-08 Reviewer: Dhruv Dhody Review Date: 28 April 2023 Intended Status: Standards Track ## Summary: I have significant concerns about this document. It needs more work before being submitted to the IESG. ## Comments: The need for OAM for BIER is well established, the mechanism is sound but there is a need to tighten up the text (as needed for a standards track document) and increase the quality of the WG output that is to be considered ready to be sent to the IESG for publication. The good news is that most of my comments are easy to handle. I wonder why these were not caught during the normal WG review itself. Interesting to see that the WGLC was initiated way back in 2018. ### General * Request the shepherd to make sure that there is a valid justification for 6 authors. * The document could benefit from an overview of the OAM operation that this document defines before taking a direct jump into the packet formats and TLVs. ### Section 2.1 * Consider adding QTF, RTF, MTU, DA, DIA ### Section 3 & 3.1 * The text in Section 3 states - ```` [RFC8296] defines a 4-bit field as "Proto" to identify the payload following the BIER header. ```` whereas RFC 8296 says - ```` Proto: This 6-bit "Next Protocol" field identifies the type of the payload. ```` I also see that the BIER OAM message format defined in this I-D is using 4-bits. Should this not be consistent across BIER documents? - Both number of bits and the name! * The relationship between the first figure and the second needs to be more explicit. Moreover, there are the following inconsistencies: * Missing OAM Message Length in the 2nd figure * Initially non-zero 'Proto' values are allowed and then it says it needs to be zero. * You need to describe the handling of the first Reserved field i.e. it MUST be set to zero and ignored on receipt. * I also suggest stating clearly the size of each of the fields in the text. * Think about adding some text about version number change as future guidance. (refer to RFC 4379 for inspiration) * Please add a normative reference for IEEE 1588-2008 (1588v2). * I am unsure about - "Any other value MAY be considered as sanity check failure"; IMHO document should clearly state which timestamp format it supports, it should have guidance on what the prefered one; it should allow for another format to be added in future, thus differentiating between a junk value v/s unsupported. Should this not have an IANA registry? * The timestamp fields in the figure and text are unclear. Is it to be considered as two 32 bits fields for seconds and microseconds or a single 64-bit field? * Can QTF and RTF be of different formats? ### Section 3.2 * What is the reason for missing value 7? If it is intentional, you can mark it as unassigned if that is the case. * There is no description for DDMAP mismatch. ### Section 3.3 * Consider adding some text on the handling of padding (if it can exist) and its handling in the length field in the TLV. * Consider having a table for OAM TLV types defined in this document upfront. * Are multiple instances of TLV allowed? I see text for some but not all. * How to handle unknown TLV? * Without context it is difficult to appreciate the need for various TLVs (Original, Target, Incoming, downstream....); Consider adding some background text. ### Section 3.3.4 * Add description for MTU. Just MTU is not specific enough. What is MTU in BIER context? * Add text for Rsvd - MUST be set to zero when sending and ignored on receipt. (please check this at all places) * Why is the Sub-TLV type not being encoded? If we call it a TLV we should encode the T part of the TLV! I suggest both TLV and sub-TLV follow the same format as defined in Section 3.3. Or am I not understanding the meaning of Sub-tlv Length (which anyway is not described in the text)? * Can both sub-TLVs be carried at the same time? ### Section 3.3.5 * Please mention the length field value. ### Section 3.4 * The text "This encoding is similar..." is unclear, is it the same or is there any difference because of entropy? If there are differences that need to be stated. ### Section 4.1 * Consider adding references here for Router Alert, and TTL for BIER-MPLS. ### Section 4.2 * In this text - ```` BIER OAM MUST support ECMP path discovery between a BFIR and a given BFER and MUST support path validation and failure detection of any particular ECMP path between BFIR and BFER. ```` Is this stating a requirement for BIER OAM solution to fulfill or are you stating that an implementation MUST support it? If it is a requirement it does not make much sense here! ### Section 4.3 * Can the Sequence Number wrap? Why SHOULD for increment? ### Section 4.5 * Note that the 'MUST not' is not accepted usage as per RFC 2119. Please change that to MUST NOT in this paragraph: ```` If Reply-Flag=0, BFR MUST release the variables and MUST not send any response to the Initiator. If Reply-Flag=1, proceed as below: ```` ### Section 5 * My suggestion would be to identify the registry. For the UDP Port, it might be useful and explicit to provide the other fields like service-name and description as per the registry - https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml * The allocation policy for the registry is missing. It is left for IANA to figure out what are the fields to be maintained in each of the registries. * For section 5.3, please state that this is a new sub-registry and clearly state its name. You state that usage is not limited to OAM, then does it belong in "BIER OAM Parameters"? I am also wondering about this mixed registry for type and sub-type with a common value field - not sure if this is better as compared to separate sub-registries for TLV and sub-TLV space. ### Section 6 * I would guess that the surface area for attack is higher because of BIER which should be highlighted. Is that not the case? ## Nits: * Expand BIER in the document title, that is the usual practice in published BIER RFCs * Expand OAM in the Abstract as well. You expand it in the Introduction. * Your Abstract and Introduction are almost the same. IMHO they serve a different purpose and thus consider having another look. If the intention is to keep them the same then consider making them exactly the same (currently you have this extra text in the Introduction - "without any dependency on other layers like the IP layer."). * Consider adding figure numbers and titles * Section 3.1; Better to be explicit here and say UDP header. ``` When the Reply mode is set to 2, the Responder BFR encapsulates the Echo reply payload with the IP header. ``` * Section 3.3.1; for BS Len, RFC 8296 uses the term BSL. Consider being consistent. I also see BitStringLen. * Add a "~" at the start of the field "BitString (last 32 bits)" -- this issue exists at multiple places. * Multipath encoding is used only in 3.3.4.1.1, why not just move section 3.4 there? * Some of the TLV has "TLV Type=" in the figure, please just use Type= for consistency. * Section 4.4; In "... and the BIER header to BIER-Header."; I think you mean Header-H to BIER Header? * I don't think you intend to thank "DIA Length - Downstream Interface Address field Length" in the Acknowledgement :) * Please check the HTML version and you will see various formatting issues with figures, consider fixing them now itself. Thanks! Dhruv --- *In case of bad formatting, refer to this message at - https://notes.ietf.org/draft-ietf-bier-ping?view*