How about the following text to replace the description of bfd.LocalDiag (page 27):
The diagnostic code specifying the reason for the most recent change in the local session state. This MUST be initialized to zero (No Diagnostic). The intention is to preserve indefinitely the last nonzero value set according to the elements of procedure to aid in debugging. The value of this field must be set only according to the explicit elements of procedure, and in particular must never be set to zero except at initialization. It should be unnecessary to say “please don’t make up stuff that’s not there” but experience has shown that implementors try to be “helpful.” —Dave On Feb 17, 2023, at 9:05 AM, Dave Katz <[email protected]<mailto:[email protected]>> wrote: [External Email. Be cautious of content] Let me see if I can refine a sentence or two, since the whole kerfuffle is largely my fault anyhow (and I managed to reverse my position in public within about 48 hours). If someone wants to run with those I’d be honored… —Dave On Feb 17, 2023, at 8:08 AM, John Scudder <[email protected]<mailto:[email protected]>> wrote: Hm, OK. So this is now sounding more like a “hold for document update” erratum which is our vehicle for saying “the spec could have been clearer, here is some improved text, maybe use this if you do a bis”. I can verify it as HFDU with an updated description — if we have some agreed-upon text. —John On Feb 13, 2023, at 4:52 PM, Dave Katz <[email protected]<mailto:[email protected]>> wrote: The intent of the diag field is to leave a breadcrumb behind about what caused the last session failure, so that humans and/or fault analysis can try to guess what happened. If the session comes back quickly, overwriting the diag on the transition to UP will wipe out that information. So I actually am changing my mind on this and would oppose the change. The erratum, to the extent that it exists is actually in the description of the field, which should say (in effect) “the reason for the most recent change in the local session state except for going Up because we know why we did that”, or something. But the normative text is sprinkled throughout where the spec calls out when to set the local diag value (which is always copied to the protocol packet) and that does not need to change. Thanks for making me think twice, er three times, or something. —Dave On Feb 13, 2023, at 6:06 AM, John Scudder <[email protected]<mailto:[email protected]>> wrote: I guess it hinges on whether the reinitialization happens when you transition out of Down, or into Up. As the erratum is written now it’s when you transition into Up, which appears to make sense, and applies whether the transition is from Down or from Init. But I’ll wait a little longer for any further discussion before verifying the erratum. —John On Feb 13, 2023, at 4:37 AM, Gļebs Ivanovskis <[email protected]<mailto:[email protected]>> wrote: Hi! Wouldn't it make sense to re-initialize bfd.LocalDiag when transitioning to Init state as well? Section 6.8.6 describes a case when bfd.SessionState goes from Down to Init: If bfd.SessionState is Down If received State is Down Set bfd.SessionState to Init Best regards, Glebs On 08.02.23 19:58, John Scudder wrote: Hi Everyone, I plan to verify this in the near future (let’s say, Monday Feb 13) unless anyone objects. Thanks, —John On Nov 6, 2022, at 4:27 AM, RFC Errata System <[email protected]<mailto:[email protected]>> wrote: The following errata report has been submitted for RFC5880, "Bidirectional Forwarding Detection (BFD)". -------------------------------------- You may review the report below and at: https://urldefense.com/v3/__https://www.rfc-editor.org/errata/eid7240__;!!NEt6yMaO-gk!DSW_aH2n7cYViXw08rr41mmdkcad5rzUky6aMWE1XW-uhZqqdIELlYuLQ20Sw8Z1cTiyiqHvd7VyqUJIsm_Lmg$ -------------------------------------- Type: Technical Reported by: Jeffrey Haas <[email protected]> Section: 6.8.1 Original Text ------------- bfd.LocalDiag The diagnostic code specifying the reason for the most recent change in the local session state. This MUST be initialized to zero (No Diagnostic). Corrected Text -------------- [Proposed text] bfd.LocalDiag The diagnostic code specifying the reason for the most recent change in the local session state. This MUST be initialized to zero (No Diagnostic). It MUST also be re-initialized to zero (No Diagnostic) when the local session state transitions to Up. Notes ----- RFC 5880 at various points calls out setting the value of bfd.LocalDiag as part of state transitions. The text defining the feature calls for it to be initialized to zero. However, it doesn't define under what conditions it should be re-initialized to zero. One possible place where it may be reinitialized is when the session transitions back to Up, indicating that prior issues may have been cleared. Instructions: ------------- This erratum is currently posted as "Reported". If necessary, please use "Reply All" to discuss whether it should be verified or rejected. When a decision is reached, the verifying party can log in to change the status and edit the report, if necessary. -------------------------------------- RFC5880 (draft-ietf-bfd-base-11) -------------------------------------- Title : Bidirectional Forwarding Detection (BFD) Publication Date : June 2010 Author(s) : D. Katz, D. Ward Category : PROPOSED STANDARD Source : Bidirectional Forwarding Detection Area : Routing Stream : IETF Verifying Party : IESG
