Re: [Idr] WG Adoption call for draft-spaghetti-idr-bgp-sendholdtimer-09 (2/28/2023 to 3/14/2023)

Job Snijders <job@fastly.com> Mon, 06 March 2023 20:53 UTC

Return-Path: <job@fastly.com>
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 A9043C1526E9 for <idr@ietfa.amsl.com>; Mon, 6 Mar 2023 12:53:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.095 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=fastly.com
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 oZMqBlgev59x for <idr@ietfa.amsl.com>; Mon, 6 Mar 2023 12:53:35 -0800 (PST)
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B7C8DC151B0F for <idr@ietf.org>; Mon, 6 Mar 2023 12:53:35 -0800 (PST)
Received: by mail-ed1-x530.google.com with SMTP id o12so44066006edb.9 for <idr@ietf.org>; Mon, 06 Mar 2023 12:53:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastly.com; s=google; t=1678136013; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VFefzK5r7sEGVqktQYOWvt8POwb9iViE343IKvvLCt4=; b=E3kbR5MM4LHlOx3jNJQpXdPzIhc9sNHzKU2pglIYi+v5RLZeQCDxFkBr0Uj3k5nQxy 7sh8giZ9v5OZngAWPiUPiKgXT8MUKU+cAd+DPVmLOPUU4kExulLvxTENH3PLgJlAfTxk irAT1qIqQ3ufw4ImLmm5KsThSDuyPDlhElctk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678136013; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VFefzK5r7sEGVqktQYOWvt8POwb9iViE343IKvvLCt4=; b=UzEr2ntnQWod957MGVoxjHDsIaqVcTQk3adTBeUA/Ja0eKkc/TgUkk38Qg6crVgOUc ryxbJeMtrbhua+rklsrO0AfUaJ5xj6wkj0OIxZhfEJSUishmDn5GpvpqOyNXAUc6VNzX IaqmJykQI0ql2XdhAHR9RHWuXVa11VYBY4KYjo1QRaxcGMaTmDuuGmmlRN6gjJfGHSZ7 goY1u4vACU0CcVWhroiN38lMbc3yrbaXwuSmI+HNZwbJFhIor3J+gAIBFSkFB9Tu6Na5 VpGh3lpW7jfnNTYQ2K9P1BeoS3jGkIUpetmNBFzKzCXJ2YFQg45K6Utda8DEqOOA3sUy Hb4g==
X-Gm-Message-State: AO0yUKXWNcw0AJaRFawXX1XbpZ8b3fOMpGkQu4nTnBqRx5kJHDz70KzV kwDNt8dAcwF+a+JFSwDaNyepIIvNf36aqLMY8stGVB7N3y1VAaw4eynTckSIhtC0tF6CySSL4lT l81nX/gUwrscEGODxGv6MXhQhLsp5zwqhKvy5HhpPs32wIYiV236Q1Tg=
X-Google-Smtp-Source: AK7set9tybBXREOrFnLyr3hixNidZZgId19NMEKtv8s49nJRSds47nihA26qMNpEQQ6fhbv47iWW3A==
X-Received: by 2002:a17:906:6a14:b0:8b2:7150:dd03 with SMTP id qw20-20020a1709066a1400b008b27150dd03mr18072068ejc.35.1678136013515; Mon, 06 Mar 2023 12:53:33 -0800 (PST)
Received: from snel ([2a10:3781:276:1:16f6:d8ff:fe47:2eb7]) by smtp.gmail.com with ESMTPSA id ib21-20020a1709072c7500b008cdb0628991sm5070798ejc.57.2023.03.06.12.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Mar 2023 12:53:33 -0800 (PST)
Date: Mon, 06 Mar 2023 21:53:31 +0100
From: Job Snijders <job@fastly.com>
To: idr@ietf.org
Message-ID: <ZAZSyywxxg0HkaDw@snel>
References: <BYAPR08MB4872FD426205CAC6F82D22BEB3AD9@BYAPR08MB4872.namprd08.prod.outlook.com> <AM7PR07MB6248673BB25E0C0BCDBEE480A0B69@AM7PR07MB6248.eurprd07.prod.outlook.com> <CAOj+MMHF9G5-CmGPJpWja=1kgBrV=EYtzyhQr9La1722=D+ugA@mail.gmail.com> <m2edq1ac7s.wl-randy@psg.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <m2edq1ac7s.wl-randy@psg.com>
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/6vuSZzDevMTgtZqexz5k3Z51YKc>
Subject: Re: [Idr] WG Adoption call for draft-spaghetti-idr-bgp-sendholdtimer-09 (2/28/2023 to 3/14/2023)
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, 06 Mar 2023 20:53:39 -0000

On Mon, Mar 06, 2023 at 11:53:11AM -0800, Randy Bush wrote:
> > But technically what is in this draft and apparently prototyped in
> > one open source implementation has a very limited (read narrow)
> > applicability.

Worth pointing out: two widely used open-source implementations and one
closed-source implementation already exist. All three interopable and
independently authored, see Appendix A of the draft.

> adding complexity and significan new code to bgp when, as you and enke
> point out, the vendors can merely flush out their tcp implementation
> where the solution is already specified.

'adding complexity' is a highly subjective assessment.

The changeset to introduce sendholdtimer in OpenBGPD's FSM is very
readable and concise: https://marc.info/?l=openbsd-tech&m=160820754925261&w=2
The above changeset has been tested against exploit code we developed,
it works.

On the other hand, the solution Raszuk and Enke advocate was broken from
the 90s until Linux Kernel 5.11 arrived, requiring a bugfix [1] that
seems of similar 'complexity' as the OpenBGPD approach.

So yes, new code somewhere in the stack will need to be added to deal
with broken remote peers that are stuck in this particular problematic
state.

Using a recently fixed Linux-specific feature certainly is one way of
doing it, but certainly not the only way.

Kind regards,

Job

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=9d9b1ee0b2d1c9e02b2338c4a4b0a062d2d3edac