Re: [Idr] New Version Notification for draft-spaghetti-idr-bgp-sendholdtimer-05.txt

Jeffrey Haas <jhaas@pfrc.org> Fri, 19 August 2022 16:24 UTC

Return-Path: <jhaas@slice.pfrc.org>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BBAC9C1594B9 for <idr@ietfa.amsl.com>; Fri, 19 Aug 2022 09:24:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 x9iOG0Efpjpz for <idr@ietfa.amsl.com>; Fri, 19 Aug 2022 09:24:54 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id D93ACC1594BA for <idr@ietf.org>; Fri, 19 Aug 2022 09:24:54 -0700 (PDT)
Received: by slice.pfrc.org (Postfix, from userid 1001) id EA5101E2FB; Fri, 19 Aug 2022 12:24:51 -0400 (EDT)
Date: Fri, 19 Aug 2022 12:24:51 -0400
From: Jeffrey Haas <jhaas@pfrc.org>
To: Enke Chen <enchen@paloaltonetworks.com>
Cc: tom petch <ietfc@btconnect.com>, Robert Raszuk <robert@raszuk.net>, John Heasley <heas@shrubbery.net>, "idr@ietf. org" <idr@ietf.org>
Message-ID: <20220819162451.GA17925@pfrc.org>
References: <CAOj+MMGTQSOYbd6g55vquzBoE2EEGMu4QSMDpYSTWvFhX4+BHg@mail.gmail.com> <CAEm8Q11M35gp=m2pMjnQ_RnQ4S_Otx4wugwx03QRPDvCzMWcyw@mail.gmail.com> <CAOj+MMEdWr4mnp0Cr9QSQ+Msfb6jHwziu=ttPGhdXUrtgtZqBw@mail.gmail.com> <Yvp3eZ4iDccWNmIR@shrubbery.net> <CAOj+MMER5fTqyyXhFB0VkL51CHKC81=DNfGeqtHqPEcAgS0LBw@mail.gmail.com> <Yvq12HOd+1HPPa/t@shrubbery.net> <CAOj+MMFNVM7TrpGGrreWufkP97X0n0W11y2eOsnss+v5irE62g@mail.gmail.com> <AM7PR07MB6248651F07184633E93B1144A06A9@AM7PR07MB6248.eurprd07.prod.outlook.com> <83BA8ED7-3ABF-4079-AFC5-F9F60CEA9668@pfrc.org> <CANJ8pZ8Xv2PXTqmtv_pg5XCcAyN=5_UQa2ab9LeDkbiuFdXUqw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CANJ8pZ8Xv2PXTqmtv_pg5XCcAyN=5_UQa2ab9LeDkbiuFdXUqw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/OiWoXm5azFhpuWhZ6tbQr7xGmDg>
Subject: Re: [Idr] New Version Notification for draft-spaghetti-idr-bgp-sendholdtimer-05.txt
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Aug 2022 16:24:58 -0000

Enke,

On Thu, Aug 18, 2022 at 08:20:19AM -0700, Enke Chen wrote:
> We have spelled out several recommendations for applying the TCP User
> Timeout to BGP in the following draft:
> 
>        https://datatracker.ietf.org/doc/draft-chen-idr-tcp-user-timeout/
> 
> I hope your concerns with using the TCP parameter are adequately
> addressed. Please let us know if you have any comments.

Thanks for the pointer to this new submission.

With regard to the FSM interaction, your suggested procedure is clear: Use
End-of-Rib as a trigger.  It's a good start to a proposal.

Your draft also picks some values for the timers with a minimum value of 10
minutes.  Loosely quoting John Scudder, "constants are always wrong", but we
have to start somewhere. :-)

The detail I'd provide for Working Group and your consideration against when
do we want to start the timer is that initial sync can get stuck (perhaps
more so in some circumstances!) just as well as later timelines.  We know
that devices initially booting are having to consume a significant amount of
state and this both contributes toward per-peer slowness and also many
opportunities for zero-windowing due to inability to service a given socket
in a timely fashion.

My comment applies equally to your draft and the sendholdtimer draft:
Portions of the BGP FSM set timer values depending on what point we are at
in the FSM's execution.  It's therefore reasonable to pick a very high value
and always start the timer upon session startup and then potentially reduce
the timer after we've achieved end-of-rib.  If end-of-rib isn't going to be
received, that lower timer threshold may be reasonable to set after some
drop-dead time; alternatively just stick with the very high value.

Similarly applicable to both drafts, I'm wondering if there may be benefit
in signaling the peer what the sendholdtimer (or equivalent tcp-user timer)
values are.  It's effectively a warning, and a hint to the remote peer's
schedulers to make sure that some amount of data is drained in a timely
enough fashion.  The NOTIFICATION subcode we've started discussing for
signaling that the sender has torn things down is the other half of this
equation.

With regard to the TCP specific feature, I still have personal unease with
what the timer implies.  The general desire articulated by many in these
threads is "the peer makes progress and doesn't stay blocked forever".
Certainly the TCP user timeout would accomplish that.  However, the timer is
versus "unacknowledged data".  What this means is not "we've made no
progress", rather "stuff was enqueued X seconds ago and unacknowledged".

I think the above illustrates a key detail the Working Group will need
consensus on: Do we care if we're not making progress (perhaps at all), or
are we willing to put a timeliness requirement on the contents?

-- Jeff