Re: [Technical Errata Reported] RFC5880 (7240)
Jeffrey Haas <jhaas@pfrc.org> Wed, 22 February 2023 16:14 UTC
Return-Path: <jhaas@pfrc.org>
X-Original-To: rtg-bfd@ietfa.amsl.com
Delivered-To: rtg-bfd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 90831C16B5CB for <rtg-bfd@ietfa.amsl.com>; Wed, 22 Feb 2023 08:14:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fmSyizMgaGkJ for <rtg-bfd@ietfa.amsl.com>; Wed, 22 Feb 2023 08:14:14 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id B7B2BC16B5C3 for <rtg-bfd@ietf.org>; Wed, 22 Feb 2023 08:14:14 -0800 (PST)
Received: from smtpclient.apple (99-59-193-67.lightspeed.livnmi.sbcglobal.net [99.59.193.67]) by slice.pfrc.org (Postfix) with ESMTPSA id 423511E037; Wed, 22 Feb 2023 11:14:13 -0500 (EST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_31FF782D-9BA9-4D31-A1EE-21952FD3A4D8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [Technical Errata Reported] RFC5880 (7240)
From: Jeffrey Haas <jhaas@pfrc.org>
In-Reply-To: <3397B7B2-7AD4-475F-90FA-03D8E882AE3C@juniper.net>
Date: Wed, 22 Feb 2023 11:14:12 -0500
Cc: Reshad Rahman <reshad@yahoo.com>, Jeffrey Haas <jhaas@juniper.net>, John Scudder <jgs=40juniper.net@dmarc.ietf.org>, James Guichard <james.n.guichard@futurewei.com>, Dave Ward <dward@packetfabric.com>, Andrew Alston <andrew-ietf@liquid.tech>, BFD WG <rtg-bfd@ietf.org>, Gļebs Ivanovskis <glebs=40mikrotik.com@dmarc.ietf.org>
Message-Id: <B9561162-192F-44A4-AA63-CC32A8B02E6E@pfrc.org>
References: <20221106092717.8864310D74@rfcpa.amsl.com> <A89A4B51-3E68-436C-A2B0-03A030608CB9@juniper.net> <e0b5cdbb-ae89-36d2-773e-313c8ca78d3d@mikrotik.com> <B918945D-DF5D-419E-B7B9-F8E3297B61A4@juniper.net> <C52B3B8A-3941-4FE1-9083-4300B5F7A426@juniper.net> <B25C1CDC-3E05-48EC-A15E-E24D7C7C640D@juniper.net> <1724793752.1746968.1676652430474@mail.yahoo.com> <3397B7B2-7AD4-475F-90FA-03D8E882AE3C@juniper.net>
To: Dave Katz <dkatz=40juniper.net@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-bfd/bigBH7kxYR9ZyHVyBE4uCEbT800>
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-bfd/>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Feb 2023 16:14:18 -0000
Dave, Just as a reminder, the context for why this errata is being discussed is this inquiry: https://mailarchive.ietf.org/arch/msg/rtg-bfd/YIeCo-nQicI_OIcVncYaJM5Zz6c/ More below: > On Feb 17, 2023, at 12:04 PM, Dave Katz <dkatz=40juniper.net@dmarc.ietf.org> wrote: >> On Feb 17, 2023, at 8:47 AM, Reshad Rahman <reshad@yahoo.com <mailto:reshad@yahoo.com>> wrote: >> Having the diag field as breadcrumb has been extremely useful indeed. But both ends can store last diag field sent/received, we don't have to keep sending the diag field after the failure has cleared. It seems odd to be sending a diag field which happened e.g. a year ago. > > That property helped me when debugging my implementation, as it survives the restart/reboot of the far end. > > There is also no timeout that would make sense; “forever, for small values of ‘forever'” is semantically consistent and the only thing that makes sense (to me, at least). > > Resetting it to zero only deletes information (albeit a tiny amount of it) and doesn’t help anything; you know that the session is up, so the diagnostic for its most recent transition to non-upness is disambiguated. > > Debugging broken things is a scramble for bits of data; leaving a breadcrumb is a polite gift. From my perspective, the breadcrumb is useful to note during the transitions, and not simply the transitions for the state. Examples have been given where the diag is updated as part of a state transition (governed by normative text in 5880), or transitions that may happen while the session remains up (e.g. concatenated path down, echo, etc.). The RFC isn't great about saying how you clear such things when the state is still Up; intuitively it's to return to "No Diagnostic". However, your own leaning, Dave, is "leave it set forever". Using the above examples for diag signaling an event while leaving the state up, I don't think you mean that. So, again, the interesting breadcrumbs are when Things Change. Each of these items is an edge transition of note. If I care about the event, I care about it when it happens and will remember it. I'm not going to look at diag to reflect this forever. > >> >> Also the text in 6.8.1 says "The diagnostic code specifying the reason for the most recent change in the local session state.". To me that means resetting bfd.LocalDiag to 0 when the state changes to Up. > > Thus the language that needs fixing (I know, I wrote it...) > >> >> AFAIK IOS-XR and JunOS reset LocalDiag. It'd be good to hear from other implementations. > > Probably. I might have even coded it that way 20 years ago, or someone else did later, thus underscoring the largely-irrelevant nature of this discussion... I did confirm with Juniper's BFD developers that it's reset to 0 when we transition to Up. Given the maturity of the feature, I'd suggest sticking to the reality on the ground. -- Jeff
- [Technical Errata Reported] RFC5880 (7240) RFC Errata System
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) Reshad Rahman
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Gļebs Ivanovskis
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) Reshad Rahman
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Jeffrey Haas
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Jeffrey Haas
- Re: [Technical Errata Reported] RFC5880 (7240) Dave Katz
- Re: [Technical Errata Reported] RFC5880 (7240) Greg Mirsky
- Re: [Technical Errata Reported] RFC5880 (7240) Reshad Rahman
- Re: [Technical Errata Reported] RFC5880 (7240) xiao.min2
- Re: [Technical Errata Reported] RFC5880 (7240) John Scudder
- Re: [Technical Errata Reported] RFC5880 (7240) Greg Mirsky
- Re: [Technical Errata Reported] RFC5880 (7240) Jeffrey Haas
- Re: [Technical Errata Reported] RFC5880 (7240) Reshad Rahman