[RTG-DIR] Rtgdir early review of draft-ietf-bier-ping-08

Dhruv Dhody via Datatracker <noreply@ietf.org> Fri, 28 April 2023 10:37 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: rtg-dir@ietf.org
Delivered-To: rtg-dir@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 17B64C1516F2; Fri, 28 Apr 2023 03:37:17 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Dhruv Dhody via Datatracker <noreply@ietf.org>
To: rtg-dir@ietf.org
Cc: bier@ietf.org, draft-ietf-bier-ping.all@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 10.1.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <168267823708.49129.2910500144998874882@ietfa.amsl.com>
Reply-To: Dhruv Dhody <dd@dhruvdhody.com>
Date: Fri, 28 Apr 2023 03:37:17 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-dir/ycUxh4Sln2r3Ca5DO1QBRhtctvc>
Subject: [RTG-DIR] Rtgdir early review of draft-ietf-bier-ping-08
X-BeenThere: rtg-dir@ietf.org
X-Mailman-Version: 2.1.39
List-Id: Routing Area Directorate <rtg-dir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-dir/>
List-Post: <mailto:rtg-dir@ietf.org>
List-Help: <mailto:rtg-dir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Apr 2023 10:37:17 -0000

Reviewer: Dhruv Dhody
Review result: Has Issues

# 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*