Re: [Idr] WG LC for draft-ietf-idr-bgp-sendholdtimer-03 (3/23 to 4/12/2024)

Ben Maddison <benm@workonline.africa> Mon, 25 March 2024 17:37 UTC

Return-Path: <benm@workonline.africa>
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 CD639C151538 for <idr@ietfa.amsl.com>; Mon, 25 Mar 2024 10:37:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-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
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=workonline.africa
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 Q2SMLjdlU89M for <idr@ietfa.amsl.com>; Mon, 25 Mar 2024 10:37:04 -0700 (PDT)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2112.outbound.protection.outlook.com [40.107.7.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DF28EC14CE51 for <idr@ietf.org>; Mon, 25 Mar 2024 10:37:00 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gtF7EniPJRqALhY6w4ISLWVOvfvRkdwveBDTuKH13ZkQkNJRVA02HIEEBusdYJ38h/CD+O7xWujSag8bXGwAeaMUJy2SB5H/8HQjsv70RSroS6B2KxC8S9PiWA6Db902NRhyL2FAlfbsHM1bEN9rn9IaysGvVKfM847MBZyi6WMzooT4NvIlDjkRaApfIhDmf1SLWGSwpqzpXiqIMhs17AQBv9KXgqNRRwdiW2POTYGOTQ2W89TgDTLc94qlYl+rspej7FjzEQvPja6isPSydaNOI9v4GXopfp4/BgRjqc4Ypv0NfMf4h534fTP6AiNRPTwQPoYmZEeKHEIOKhYrRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JHeRTowK9peiE3QnRGdSqMSWE2JWUWWK345D+TtUX+U=; b=jRxE6nG2RjURiP4MCW5axADRv+pS63OAQFEgY59ZjGuGs4EKz7YHe5vIZ6tU7xXYEmLKBqaVhNbW0dd7EMYlS+6jjQlSzcwc+IMhd4mNwbGhf68kTTqVBtfmcbRxUTD+pTh8fKTHTSKKy/bfL6jODcIHplh8hkjnycweMBGmlbtr/CJfceY2k4bVnumCRivdCzURMj5S762A8PIS1lpFIYJtplrH/PahXd8cels/i33nP3GgY0R3nHc7s+o10CH7drR5KS10m5PWTTWAagkg68EEDC5T/FYW3pm+35N9WDAmfKgpGjNel4S5Q01LtfZFpBAakjt6QIuMJV2qRaBhIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=workonline.africa; dmarc=pass action=none header.from=workonline.africa; dkim=pass header.d=workonline.africa; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=workonline.africa; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JHeRTowK9peiE3QnRGdSqMSWE2JWUWWK345D+TtUX+U=; b=Xti8ya0ZSd2Im+sTJfsw7zzZ5ZxB+SZd8ecQwyPMikBhoRU6h+EZDWT/xaa1tKpmryMOGuy8iGS2ZxJKsXxV9u728HsdV+FNSWyn6ueuaPqiIMB1OplBP0l0xUVl+EcF5CNDag5KtbgAzb962PrGxHLH772c1WyJNt9OS1ZVQDQ=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=workonline.africa;
Received: from DB9P190MB1083.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:227::9) by AM7P190MB0677.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:118::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Mon, 25 Mar 2024 17:36:57 +0000
Received: from DB9P190MB1083.EURP190.PROD.OUTLOOK.COM ([fe80::9d9a:c112:7d00:3770]) by DB9P190MB1083.EURP190.PROD.OUTLOOK.COM ([fe80::9d9a:c112:7d00:3770%7]) with mapi id 15.20.7409.028; Mon, 25 Mar 2024 17:36:57 +0000
Date: Mon, 25 Mar 2024 19:36:51 +0200
From: Ben Maddison <benm@workonline.africa>
To: Jeffrey Haas <jhaas@pfrc.org>
Cc: Sue Hares <shares@ndzh.com>, "idr@ietf.org" <idr@ietf.org>
Message-ID: <ekprce6utq55znihvwmuhshynoxy5lxyusbsrefx5ui2hbatmw@qzdu3yupao4z>
References: <DM6PR08MB48574BAABAAC203EA2F9F139B3312@DM6PR08MB4857.namprd08.prod.outlook.com> <z7xyp2afi6eqobgl5vpvl6as2yit6lyv3ye4so727gzobl4gdt@jp4akmw5lh7b> <09C3AD6C-E195-454B-8DBB-81EFE0E01E22@pfrc.org>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="nzlw5xcxxnawunnr"
Content-Disposition: inline
In-Reply-To: <09C3AD6C-E195-454B-8DBB-81EFE0E01E22@pfrc.org>
X-ClientProxiedBy: CT2P275CA0126.ZAFP275.PROD.OUTLOOK.COM (2603:1086:100:21::7) To DB9P190MB1083.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:227::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB9P190MB1083:EE_|AM7P190MB0677:EE_
X-MS-Office365-Filtering-Correlation-Id: 861d74e0-1c90-4fbd-4080-08dc4cf22b21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: nLSdnHo/rVyiYHxJe+1PgjEzISh27z71yK5/JJv1xt7BGNsuSbDkJSV+x1p2mB6AtpxAWIkdCzt4by4bARRz0AJz1CY7MSBe5ZnsG13rgE0UEoM2aktZWx+ORknV1I2GydWNjUaDzVcfV1scRSsUTwJ7TVDogAE+wtZM6VdmdcUswzFjfi3/RM1XVewWvnUdogYKCxH4ErR2Ufnbr9ghpQGlZvGZtda1p2YyfxqDFXuta4JJfXF31Ac8t6p4cU3uTgKFepkPIfhl1opxmG0rlpTlY5kFAIXgYshZSfzi0mo+WDdp/r9BKr1Ph0c+eHZCsK8Z6ItEC00uwvOcybY2Cw+eO30FsDhyAhjiyU/kozjEwj+Ugl+gTyqMdR550XKYRb4+HIJjfy4Bk4hPD0XaHuk6BYdJAqn2+J2Gf2sD0pKNqqA0a294i/IQi2O6rcYX6GMQEp9ebaTpyN2GmQyAzSab5G7f3x9TTGagRMJ516VXO0TjdFgjJn16rLEjKvoqfxR3TgiMOJ6R4C3aJYQk0U+duimW5Z8J6OcNZdY31OR31BxegfwNEgALvhCVLVZyRnC/jSh4brh9MDu2GCCYbXfUAtkKaFJaHFVwrJS/ADHbKnFIcAtso/EFPIRk0FM2i2ZkQD7XZ6cOxMtuzs94WnoiG2UK5gmi06dPmflaNvI=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9P190MB1083.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: j0gQcs3tE1vUDb4Ishu822Y+fu9r3h/1nM8kVilUp14cqDV7CppaVvObvAs7/3CS7mzUcH0m3UF1mgysevhKFAQbkym8xrgzTzglbpiaXtqIAmcOAVpg/vUr98asrriTF/1hbq7hCLj3SYFcc7uQvehkj+KqZ5aotbmBHxBZ06fH92wNsambW0cvTtLzEqNi1RsQ3F3Z4SGRUcJ5hxGeSsEi1EOWnwjHWy7+mfxVBIiCAOKpwVMngwS6h+eL2HXoLvuobQyR9iuqNuagVUHzEZSRnrmtvimWYzct/MRal9/wfIHAHQiFwmqxBSsc5GqqBMBy/Vqi2ydtgoWwL+iGUYKTm/HOm87z2cXCcXqIqvZm63r6myIJuneS04apQN0KvIeVBYKYcTpyEQzmM3kxHuglbE7eX7BQKS1sktFEyksfxQgt7k1N2S7KPxaze8iL6N8XlnxwThsTVmO0FQkzQvbIWJ7FTSD3rTzI/rkLWpJPAquocZkMkwYfJyRGiXMoHRaGuJEGX/mmRCM+Qz1aRi0NXfybCRcyxioYdFPPyEUaVgax8b0mbkYZGTT1xe2M93NLFbfeuBOU6qzRfYefmL6ss7WK4pn6k9e+XssfHul1LalA2UardLA10S40tQMdC3UH0wrFvJDacyC/5IElGUPYqGwwvyRYytihzI953chNX+egyCPaZEyK6/xN5AQB+4S0/r5HAfLzpMYjidJEJBS3am84jpxNkS+xn8h10u97tdsixtDOcGdCSE735DLZEGJH7efMAUOr1+sx/L3OjoHamh6FFDIpr9tVE1KAUHatACxmPcvDE0umtg01Xd3H8nGaHUa7FzLE/i7PNU5aj0oN8khjljynVepdRYm35N2IY4puwrHUkJT7ckXjU7nmrVvhQvWIPbE3VBOHZQ1KM5g9ZoI87ogW/ngX3+/1hy9K0XEyNtSYENkBICbG5Bfa+H6n8eerbhx7AWwM6KO4ft92VgGbgCuIghaDzeS90XE335fv/ULvjqr5fdHyjOyrDZvNXg/crlZEU/BrKqodiKiZ+RpAHNC3DH4QU3QXDFUj/p5JrdeAGcUjs+Gr5vKp1CKWzCxWNYA1w9tvYhq7eNkoXx6lOzP4dSLNdDOZRDWsPU+CziEh+CA0Fy2tMemXdMzuMHpxoJJO8ydZLrL6M6WiYgQlRhPnyzrez7LkjKXsOE0BBaTxVADHDVX9818vfxUSWb/Kh/1057ZBGT/aZ6tCFcSiGMMe4xkgtr7ol/nkSCTp2Zi/y7k/ZVTMppGm9F62m4MZti3Gz8qZQWE+bx2KWPK7LKwHXrwPw7Rq79jKdAXb5laM7pJrxug9zUyRuiNg60k/KcM0rLXjEeoJgk93h+PHfcjsAS7/OP0jinEzauFHMTVmEfNM0li1huoe40EzDCJNgAD6DyjdpbsIhZmdXTv2jlTCRIvRuUxFS/4noOTUXY8skUl1HI3FuMTuPPVdSFJ5PbML8gESe9d8qRDafp/VUUNSOgUIEZEyfYL1FskzLcYR9v/HloE3wV2CeFROZrF5MmA5/9o9fa4rpT9Cbq24jKmzW68rcWbvu+bD3M+azAI6Ea5YAvLReOel3Nf2kxbsxt5txVzmucS0mg==
X-OriginatorOrg: workonline.africa
X-MS-Exchange-CrossTenant-Network-Message-Id: 861d74e0-1c90-4fbd-4080-08dc4cf22b21
X-MS-Exchange-CrossTenant-AuthSource: DB9P190MB1083.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2024 17:36:57.0955 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b4e811d5-95e8-453a-b640-0fba8d3b9ef7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lTfSF7M3kpTXCxDpY65jAUitljz1iwxxT/WDxqDNzhfHLJZMhFwUYyl0Va5ONn74SSkuAPurTzz6BP8JHS90kg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7P190MB0677
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/9JIqca-MOyZ-2VdjWQbvFEi5BN4>
Subject: Re: [Idr] WG LC for draft-ietf-idr-bgp-sendholdtimer-03 (3/23 to 4/12/2024)
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: Mon, 25 Mar 2024 17:37:09 -0000

Hi Jeff,

On 03/25, Jeffrey Haas wrote:
> Ben,
> 
> > On Mar 25, 2024, at 6:44 AM, Ben Maddison <benm=40workonline.africa@dmarc.ietf.org> wrote:
> > The only remaining issue, which I believe warrants further discussion in
> > the WG, is the guidance that BGP speakers should send a NOTIFICATION in
> > response to the SendHoldTimer_Expires event.
> > 
> > Although I appreciate that for the purposes of internal consistency it
> > is desirable that the FSM mandates a consistent set of steps to take
> > when tearing down a session, I think in this case it results in further
> > contradiction.
> > 
> > Consider the possible outcomes for an implementation responding to a
> > SendHoldTimer_Expires event by sending a NOTIFICATION to its peer, as
> > written currently. Either:
> > 
> > 1. The local speaker waits indefinitely for confirmation that the
> >   message has been sent on the socket, delaying the closure of the TCP
> >   connection, and defeating the objective of the timer entirely; or
> > 
> > 2. The local speaker successfully sends the message to its peer, and
> >   finds itself in the contradictory position of having successfully
> >   sent a message to the peer, whilst handling a condition that has
> >   arisen due to its supposed inability to do exactly that!
> > 
> > I believe that the intention here is that the local speaker performs its
> > internal bookkeeping and event logging using the "Send Hold Timer
> > Expired" error code, but only attempts to send the NOTIFICATION to its
> > peer if it can do so without blocking the remainder of the session
> > clean-up.
> 
> The intention overlaps the text I did for the BFD cease subcode, now
> RFC 9384.  In some circumstances, the connection may effectively be
> gone anyway, but we're in need of having diagnostic information as to
> why.  In the case of that RFC, we're not guaranteed to be send blocked
> but the TCP connection might otherwise have reason to be gone by that
> point anyway.
> 
> As you note in 2 above, successfully sending the notification would be
> perverse since we should only enter this situation because we're send
> blocked.
> 
> When you examine the remainder of the sendholdtimer text in section
> 3.3, it follows the usual pattern of sending a notification where we
> send it adn then tear down the tcp connection anyway.  The point I
> think you're highlighting is whether "send a message" should be
> considered a synchronous operation or not - see at least one prior
> comment I'd left in the thread for this feature suggesting that
> shouldn't be the case.
> 
> The desire, as you note above, is that all of the work we'd have done
> if we had sent the message on the wire even if we can't even
> successfully enqueue the message to tcp.  The implementation would do
> its diagnostics, track last sent code/subcode, etc.  

Agreed, we're on the same page.

I think the fundamental issue with the text (and other similar parts or
RFC 4271) is that sending the NOTIFICATION is mandatory, and must
(obviously) happen before the socket is closed, leading to the naive
interpretation that the send must complete before the remainder of the
actions can proceed.

Expecting future readers to read this as "oh, I should enqueue this to
my write-thread, drop the handle (or future, or whatever), and proceed
to kill the socket" is asking too much.

> Is there any particular text you'd want to indicate the desire is that
> this should be done asynchronously in spite of the fact that nowhere
> else in the BGP FSM text we discuss how such enqueueing is done?
> 
> > Similarly, it seems unnecessary and confusing to restart the timer when
> > a NOTIFICATION is sent.
> 
> That's a reasonable exception case.  
> 
> > 
> > I have attempted some wording changes to address this, and submitted
> > them for review in [1]. I would be glad to hear the thoughts of
> > participants that are more practised in FSM surgery on this.
> 
> The current pull 4 diff is I think overly proscriptive, but is
> iterating in the right direction.

I attempted to stay clear of phrases that are overloaded with
implementation- or language-specific behaviour. The intent is to convey
that actually sending the NOTIFICATION should be considered optional,
and should not be attempted at the expense of promptly killing the
connection.

I'm by no means wedded to the specific language if anyone has other
suggestions?

Cheers,

Ben