Re: [Lsr] Working Group Last Call for "OSPF Strict-Mode for BFD" - draft-ietf-lsr-ospf-bfd-strict-mode-04

Jeffrey Haas <jhaas@pfrc.org> Mon, 31 January 2022 19:27 UTC

Return-Path: <jhaas@pfrc.org>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E0CDA3A144F; Mon, 31 Jan 2022 11:27:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3vK5-AOgeSj2; Mon, 31 Jan 2022 11:27:36 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id A71C73A144D; Mon, 31 Jan 2022 11:27:36 -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 906511E32E; Mon, 31 Jan 2022 14:27:35 -0500 (EST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_A500340A-4A91-4969-B0F8-272A06366219"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
From: Jeffrey Haas <jhaas@pfrc.org>
In-Reply-To: <CAOj+MMHJO-VoKY70m2+JtU1rf5vaPW8fSUtU-d1zB0r9wjCyxg@mail.gmail.com>
Date: Mon, 31 Jan 2022 14:27:34 -0500
Cc: Ketan Talaulikar <ketant.ietf@gmail.com>, "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>, "draft-ietf-lsr-ospf-bfd-strict-mode@ietf.org" <draft-ietf-lsr-ospf-bfd-strict-mode@ietf.org>, "Acee Lindem (acee)" <acee@cisco.com>, Albert Fu <afu14@bloomberg.net>, lsr <lsr@ietf.org>
Message-Id: <9EC583C0-A77C-42F5-9325-4549CB75F143@pfrc.org>
References: <61F2FFAF006C057A00390001_0_79654@msllnjpmsgsv06> <012801d813f3$173aa690$45aff3b0$@tsinghua.org.cn> <CAH6gdPxEF22=D5CWppf+H5Aj71K+1rfrt1_SWCnJujQ3T1tbMQ@mail.gmail.com> <014a01d8140c$8dd3a310$a97ae930$@tsinghua.org.cn> <000501d81412$0c196f70$244c4e50$@tsinghua.org.cn> <50D845B5-CC66-4176-A4BB-C78ADFDB47FD@cisco.com> <00a201d814b5$0cad9c10$2608d430$@tsinghua.org.cn> <CAH6gdPy9sC8wLQjyQVg3-XRqmBNoBeZ6SUHFnzqES=G7x+ptGw@mail.gmail.com> <00b501d814c1$58409220$08c1b660$@tsinghua.org.cn> <CAH6gdPxLQ3WOwoQ_Gp-24RiQ_LwmB6qu3QoNPWFERUD=iY09Pg@mail.gmail.com> <00df01d814e8$05ed8510$11c88f30$@tsinghua.org.cn> <CAH6gdPydJu+sye9Kf+3G0COh3R4t5f5_VqUWe+Vu+vHk=ew3NQ@mail.gmail.com> <00f001d814ec$981cc7d0$c8565770$@tsinghua.org.cn> <CAH6gdPyH_+MxWKwgqOzv3stBdLPnYrADmPeg880W7uVMALCqkA@mail.gmail.com> <CAOj+MMGLwdaUQws=hj+oqNRQLcfYHtd2d9L_ienm2vDuDUFU+w@mail.gmail.com> <863AA4FC-9DAD-4B14-B266-D545680F30D7@cisco.com> <CAOj+MME+gobVeSjOTgffoy8Rzp4cU93GkJ+1hQ_QZGjsSdr_Ew@mail.gmail.com> <BY5PR11MB43374190FCDE2CB103A385B0C1239@BY5PR11MB4337.namprd11.prod.outlook.com> <CAOj+MMHfuJxknOzXvf9OL+x285CaFr7uPb-Eakm=5jpAdcCW-A@mail.gmail.com> <BY5PR11MB43371A09BAF7EF3A645DF04AC1239@BY5PR11MB4337.namprd11.prod.outlook.com> <CAOj+MMFFNg407QwbRBFZkku7tt8b5XOUb8To8tbSuvxZdQXHbg@mail.gmail.com> <CAH6gdPwLCXg2J37ZAZf54sRbP7-LhM0pxd+QZUY2r=YeWQuQdA@mail.gmail.com> <CAOj+MMH+VxKzwWq1Ttx2rMoAt-3y7WaUs=Uw9_E7Oz_WFNrwkA@mail.gmail.com> <BY5PR11MB4337A2F9C5FC3E798A8C12A9C1249@BY5PR11MB4337.namprd11.prod.outlook.com> <CAH6gdPywAvjdPrUksiiukiEXViuuS7nvA4=FtzbYhdYbnCy0zQ@mail.gmail.com> <CAOj+MMHJO-VoKY70m2+JtU1rf5vaPW8fSUtU-d1zB0r9wjCyxg@mail.gmail.com>
To: Robert Raszuk <robert@raszuk.net>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/PXNd0albza7Ak2eRbz94OBpnPyM>
Subject: Re: [Lsr] Working Group Last Call for "OSPF Strict-Mode for BFD" - draft-ietf-lsr-ospf-bfd-strict-mode-04
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 31 Jan 2022 19:27:42 -0000

[Note that I read the LSR mailing list infrequently, but this thread was brought to my attention.]

I wish to largely support Robert's point here.  BFD is not intended as a link quality protocol.  It's a very simple hello protocol that can operate quite quickly and provide simple edge transition events of Up and Down.

There has been work in the BFD Working Group over the years to attempt to bring more of "link quality" behaviors to the protocol.  One, of interest to this thread, is the BFD for Large Packets work, which can support MTU probes as part of BFD operation.

draft-ietf-bfd-stability discusses leveraging BFD internal state to help look at link instability issues as BFD sees them.

And, of course, Greg Mirsky had several times he wanted to get BFD to do more active behaviors.  He was encouraged to leverage the BFD machinery in his own non-BFD draft if he found it helpful.  I suspect he'll respond to this thread with comments on his thinking here.

That said, the BFD strict work is about removing control-plane protocol ambiguity with regards to how it uses BFD and how the state machines interact with each other.  I think that work has been reasonably done.

The thing that BFD isn't about in such contexts is being more than a simple proxy for the link being of bad enough quality for BFD to go down taking the client protocols down with it.  It's important for those client protocols and the operators to set the timers and Detection Multiplier (number of lost packets) to speeds they think support their needs.  If you have a noisy link that can drop several packets in succession and that's what you want to be your trigger, BFD is your protocol.  If you want it to take an apparently continuous loss over most of a second, BFD can do that too if you tune your timers appropriately.

But, as you say Robert, it's not intended to be a general IPPM style tool.  I don't believe the BFD strict drafts should try to treat BFD as if it is one.

-- Jeff



> On Jan 31, 2022, at 5:31 AM, Robert Raszuk <robert@raszuk.net> wrote:
> 
> HI Ketan & Les,
> 
> To finish this topic I would like to observe that IMHO you have it quite backwords. 
> 
> Comment #1
> 
> The tone of your expressions is trying to illustrate that there can be many clients for given link probing tool (here BFD). In reality the situation is vastly different. There is usually one link state IGP running on the node and given set of probing protocols are associated with it. Moreover, the world does not end on BFD. BFD is just one possible tool, but more and more path probing tools are emerging or are already deployed. Asking for each of them to introduce into their state machine a new behaviour to delay reporting UP state on a per client basis is nothing else then just pushing the problem aways and not caring for the cost associated with it. 
> 
> Comment #2 
> 
> BFD is a great tool to tell you if the end to end path is UP or DOWN. It was not designed to give you any characteristics or metrics for the path quality. 
> 
> So all assertions of that notion in your draft are simply wrong. While sure there are proposals to extend BFD probe packets with arbitrary large payload to tell you if at some packet size you can still reach the other end they are still nothing close to measure any form of link performance or detect "A degraded or poor quality link"
> 
> Thx a lot,
> R.
> 
> On Mon, Jan 31, 2022 at 5:48 AM Ketan Talaulikar <ketant.ietf@gmail.com <mailto:ketant.ietf@gmail.com>> wrote:
> Hi Les,
> 
> I agree with you that mechanisms like dampening and hold-down are best achieved at the lowest levels (in this case in the monitoring protocol like BFD) instead of in each routing protocol on the top. 
> 
> Now whether this means we include/support the signaling of the parameters for these mechanisms in BFD or whether they are achieved by provisioning (as done currently by some implementations) is best discussed in the BFD WG.
> 
> Thanks,
> Ketan
> 
> 
> On Mon, Jan 31, 2022 at 1:08 AM Les Ginsberg (ginsberg) <ginsberg@cisco.com <mailto:ginsberg@cisco.com>> wrote:
> Robert –
> 
>  
> 
> Here is what you said (emphasis added):
> 
>  
> 
> <snip>
> 
> But the timer I am suggesting is not related to BFD operation, but to OSPF (and/or ISIS). It is not about BFD sessions being UP or DOWN. It is about allowing BFD for more testing (with various parameters (for example increasing test packet size in some discrete steps) before OSPF is happy to bring the adj. up.
> 
> <end snip>
> 
>  
> 
> Point #1: If you want BFD to do more testing (such as MTU testing) then clearly you need extensions to BFD (such as https://datatracker.ietf.org/doc/draft-ietf-bfd-large-packets/ <https://datatracker.ietf.org/doc/draft-ietf-bfd-large-packets/> )
> 
>  
> 
> Point #2: The existing timers (as Ketan points out are mentioned in Section 5) are applied today at the OSPF level precisely because OSPF does not currently have strict-mode operation. So in a flapping scenario you could see the following behavior:
> 
>  
> 
> a)BFD goes down
> 
> b)OSPF goes down in response to BFD
> 
> c)OSPF comes back up
> 
> d)Link is still unstable – so traffic is being dropped some of the time – but perhaps OSPF adjacency stays up (i.e., OSPF hellos get through often enough to keep the OSPF adjacency up)
> 
>  
> 
> So some implementations have chosen to insert a delay following “b”. This doesn’t guarantee stability, but hopefully makes it less likely. And because OSPF today does NOT wait for BFD to come up, the delay has to be implemented at the OSPF level.
> 
>  
> 
> Once you have strict mode support, the sequence becomes:
> 
>  
> 
> a)BFD goes down
> 
> b)OSPF goes down in response to BFD
> 
> c)BFD comes back up
> 
> d)OSPF comes back up
> 
>  
> 
> Now, if the concern is that BFD comes back up while the link is still unstable, the way to address that is to put a delay either before BFD attempts to bring up a new session or a delay after achieving UP state before it signals UP to its clients – such as OSPF. This is a better solution because all BFD clients benefit from this. Ad if the link is still unstable, it is more likely that the BFD session will go down during the delay period than it would be for OSPF because the BFD timers are significantly more aggressive.
> 
> (BTW, this behavior can be done w/o a BFD protocol extension – it is purely an implementation choice.)
> 
>  
> 
> From a design perspective, dampening is always best done at the lowest layer possible. In most cases, interface layer dampening is best. If that is not reliable for some reason, then move one layer up – not two layers up.
> 
>  
> 
>    Les
> 
>  
> 
>  
> 
> From: Robert Raszuk <robert@raszuk.net <mailto:robert@raszuk.net>> 
> Sent: Sunday, January 30, 2022 10:05 AM
> To: Ketan Talaulikar <ketant.ietf@gmail.com <mailto:ketant.ietf@gmail.com>>
> Cc: Les Ginsberg (ginsberg) <ginsberg@cisco.com <mailto:ginsberg@cisco.com>>; Acee Lindem (acee) <acee@cisco.com <mailto:acee@cisco.com>>; draft-ietf-lsr-ospf-bfd-strict-mode@ietf.org <mailto:draft-ietf-lsr-ospf-bfd-strict-mode@ietf.org>; Albert Fu <afu14@bloomberg.net <mailto:afu14@bloomberg.net>>; lsr <lsr@ietf.org <mailto:lsr@ietf.org>>
> Subject: Re: [Lsr] Working Group Last Call for "OSPF Strict-Mode for BFD" - draft-ietf-lsr-ospf-bfd-strict-mode-04
> 
>  
> 
> Hi Ketan,
> 
>  
> 
> I would like to point out that the draft discusses the BFD "dampening" or "hold-down" mechanism in Sec 5. We are aware of BFD implementations that include such mechanisms in a protocol-agnostic manner. 
> 
>  
> 
> BFD dampening or hold-time are completely orthogonal to my point. Both have nothing to do with it. 
> 
>  
> 
> Those timers only fire when BFD goes down. In my example BFD does not go down. But we want to bring up the client adj. only after X ms/sec/min etc ...of normal BFD operation if no failure is detected during that timer.
> 
>  
> 
> This draft indicates that OSPF adjacency will "advance" in the neighbor FSM only after BFD reports UP. 
> 
>  
> 
> And that is exactly too soon. In fact if you do that today without waiting some time (if you retire the current OSPF timer) you will not help at all in the case you are trying to address. 
> 
>  
> 
> Reason being that perhaps 200 ms after BFD UP it will go down, but OSPF adj. will get already established. It is really pretty simple. 
> 
>  
> 
> Thx,
> 
> Robert.
> 
>  
> 
> PS. And yes I think ISIS should also get fixed in that respect.  
> 
> _______________________________________________
> Lsr mailing list
> Lsr@ietf.org
> https://www.ietf.org/mailman/listinfo/lsr