Re: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested

tom petch <ietfc@btconnect.com> Tue, 27 April 2021 08:22 UTC

Return-Path: <ietfc@btconnect.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 242763A1A0B for <idr@ietfa.amsl.com>; Tue, 27 Apr 2021 01:22:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
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 UfmszYT6Gj9J for <idr@ietfa.amsl.com>; Tue, 27 Apr 2021 01:22:17 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2107.outbound.protection.outlook.com [40.107.20.107]) (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 6690C3A1A09 for <idr@ietf.org>; Tue, 27 Apr 2021 01:22:16 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZBWHTWHq5JNW1Y0m+TRH2XM7vVgHJU/vf5VQzwnauThD78gj5FQUHcGhOniqm3iVRo5GBy4CMXdkGBXeaghnCEwhejE4ForK7GysPQVICJER+WDGYP5fBiUb7Es31Uzs7R62/rv5Fg+lgyzTnVS1ESHUDVckzIXRLpNrFZwsvLqR13n+cootUue8tVzUkpzAJMkS2KrZ0o6gdhSGB3UUgcm25m7PES5N0v4ISylROsuMgYPYQmZgIJxxTFxUFy+4rQVVJaMu4rshIIedNdNA6UJkhG1zGSdB99sZt/SoHUg3HhEWe7ZmLcibW2JNdRA2juysEEJtznB4QpNOeSeKnQ==
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-SenderADCheck; bh=tDP+UsLhnhCsbUBAiJEnF7FTCML8S8syJ+kR04Ajv48=; b=B5SuPT/pL9y1D5YZmSmvHDr6AXub0bl2x9W12CmiTQpfMOjoRofooL3WOMMERb/u4pALV/CuzubYJvcbmEQ9FJ9o8Bc2aww0n6ETynuNeXg47F5Jpz6jpC4eGRUW5fV1thrPGTXpBvZAC0c+m4s8swg4KatVRRrVeJPFVibJPdKgiiUZv8PNDPKsWcUijfv0NvXqhWdLxxhN6mb1JvG8YMV7BBFwKK/YvnJXryy8Ok+98GQtGJG12Kfxvk467xaDSIQA5aSD9yd7CaX2S5VRQuHQsgOx1WnEHEf4qEsYh6K+KmQXZOs4ebHwddRV1xf2rlHw6vuHC0JJ/iqTx9Ty6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tDP+UsLhnhCsbUBAiJEnF7FTCML8S8syJ+kR04Ajv48=; b=qHbg6rBLaZed1d/kcUl7LlnypK2Je1KaeEt2U5RzJ+Pp/0au1Ivi+UswIm+zZA1GTxd40Cczxf20g8+0PHx41jRKs7zWLQ6hTYls5WLzw1o5ITpl2HpeQOFL6oWhutw1TuAnBcmtTMAvutvpg5+gy0jLlyYnXdmy7NIiPs7Wy5w=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AS8PR07MB7942.eurprd07.prod.outlook.com (2603:10a6:20b:39b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.17; Tue, 27 Apr 2021 08:22:14 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::543d:497d:ba3f:5576]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::543d:497d:ba3f:5576%4]) with mapi id 15.20.4087.025; Tue, 27 Apr 2021 08:22:14 +0000
From: tom petch <ietfc@btconnect.com>
To: "Jakob Heitz (jheitz)" <jheitz=40cisco.com@dmarc.ietf.org>, Jeffrey Haas <jhaas@pfrc.org>
CC: "idr@ietf. org" <idr@ietf.org>, Ben Cox <ben=40benjojo.co.uk@dmarc.ietf.org>, Robert Raszuk <robert@raszuk.net>
Thread-Topic: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested
Thread-Index: AQHXNeyWuL85GQc5306CuZDl5UxM3KrCogwAgAAQnICAACiggIAAkQ8AgAFYkgCAAOEwgIAAQ4OAgAIl3ss=
Date: Tue, 27 Apr 2021 08:22:14 +0000
Message-ID: <AM7PR07MB624871151D9AC3B6ED40FB42A0419@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <CAL=9YSVy+mvxvAv+maxkUSzPbe0bfnUy-XJJTtcVhi3S3bm=WQ@mail.gmail.com> <20210423212348.GB19004@pfrc.org> <CAOj+MMGH+y-gxSLaakknWSPFLEk9ikkUU1fa=3H0FjkokAbg3w@mail.gmail.com> <20210424004838.GC19004@pfrc.org> <CAOj+MMH5yzpPZjdUcfXV4cxCORqCsQY4X+niBjnwxjPfN-tsJA@mail.gmail.com> <BYAPR11MB3207E4A0BDC3367E21886C55C0439@BYAPR11MB3207.namprd11.prod.outlook.com> <20210425192705.GD19004@pfrc.org>, <BYAPR11MB3207F5B28D5C9B402940D197C0439@BYAPR11MB3207.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB3207F5B28D5C9B402940D197C0439@BYAPR11MB3207.namprd11.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=btconnect.com;
x-originating-ip: [86.143.250.49]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 17d79a53-31b4-476f-e64c-08d90955904a
x-ms-traffictypediagnostic: AS8PR07MB7942:
x-microsoft-antispam-prvs: <AS8PR07MB79420B8B3A664CA4B77FA572A0419@AS8PR07MB7942.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: YdyQLx6fgD9Q9SAV54pn+deqChT4kblzo5JCkQfWciJ625gY+XrXcquVKI7cR1yHRedC/00SAYKplBL55QTIV6SdK3gDfha8N3aRMNldwpUbtp12uvjVAPAkN//RPDFIuiJdBzHAXOYHtqNUj20gu+T9BhCUF3sWGOWDh3CXVnswNNXW3QkAaI7MaQ6LPbtQwQt/RYzupgskrYjLdO3GcBIM858CpAUidrDdTs1mZajz1EACufVT15/8RsXpsLWQEes3dgEkJ65ktIfWsLQ7XHvG0hVaGxpUk724mwg9/RS20YJTXZEJwSSIGhuTwAm7PMdbLE7SPdtJMJ4wM4NOj9nRK51Y6NT64f8TnEOX5gqMoTxQeStjyP9CuiCObYE8ZQX5E5hoTL4CLAoDqo130v4saAevqU3GHalXwnv7+75CP/kcLyTcQCgaMAIPPvgCkMVOE4p+QxP0WQ+ZiY040sUsQNX+JON3YhtHduczSoi8V++CvTKjetvbZIIn4kKX4m0qbHj0E0C0InWDMNaj4Vvkfu8Uyya8MZC2rX6DcjHK+W4Ao7B1nIZSP1WXOWD5b3UCnXodHA+nPFL6NLKGM3Je8oY2zjHRqfrmbjIlC40kN2868OuVQxuGZB7uCXEMUVrTfRkzj/xHNvdE0/j6WoVRJwNI9yCczadqTJDeWW8=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(376002)(136003)(39860400002)(396003)(366004)(86362001)(91956017)(76116006)(7696005)(66946007)(66476007)(66556008)(53546011)(8676002)(66446008)(122000001)(55016002)(6506007)(9686003)(38100700002)(71200400001)(64756008)(2906002)(66574015)(4326008)(110136005)(8936002)(478600001)(966005)(54906003)(52536014)(316002)(5660300002)(186003)(33656002)(83380400001)(26005); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?z7rdxvl+pjDYYd/8rl+zlb2b7kI5gJqqgx0VbPSfl5O+QDGxApRl5J+NpI?= =?iso-8859-1?Q?noZrH4Mybdz9E+3Hi7czSWitJ5MHB4XU9Zb06TwPSCOZzebkvQslsnsfXJ?= =?iso-8859-1?Q?nhJhJ2Rk0fC5Pa2a8SEVj/4ljfdDFXij5YZxlCh3ZlQdhGBNLCnFHq/6St?= =?iso-8859-1?Q?owO/ExMvZHJqMAM4AyxJSnH9kLVb6CQTPIP0ZPZ1BT7H6HilLFoka+Rsm0?= =?iso-8859-1?Q?7zAGPx3nmcdt6qixTLFEo+KvcZfRlxGj5h4c1qq9YSEAaNMHf9/pNvUcIZ?= =?iso-8859-1?Q?0GZUhw1wwiacmIxz09r/We6vYMTe05RIdFQPk6zMFzxe/1LtYTTYzpQqbZ?= =?iso-8859-1?Q?t1MrKK35Sih5BGE+MVz10GfDyG0fNtlM0Bw3eHNS1I/SKxaBqwRLj7pDmZ?= =?iso-8859-1?Q?tU3RjL5d7OWzbg4HXpjLq0TNksDMjzF1r0QVtRy/rQydHNBcabWu65E5ZK?= =?iso-8859-1?Q?ShgY9pBNZ3PphIUBtoDp9UzcnPWMxmsEYf+XKH9nwO/VzdS44Qv/ktLtGR?= =?iso-8859-1?Q?2+zs9eTl3FmAA4kpjMp2kSsvHmwOfdYysf1V9gzi2BswcoPjdi+5uy0tft?= =?iso-8859-1?Q?5fknh+Wu1PibblK/PURAadVyf5rXXVOOxA/vmWuJSWIL+QdNoU/nsF8+8Z?= =?iso-8859-1?Q?83usCTplkV5DoKyU8hRQTXDRjWJM06WnIqaj8a6xS8BEIz0FvyZb/put/U?= =?iso-8859-1?Q?YmDYo4FwJErafZLdYhP99LoE3iVdkwxqOMqBCYex+fC75tB/L4d7BmjTeG?= =?iso-8859-1?Q?QflGz+N6D74X5+B/WqeHBszeJYzkERaLLyu7Xmcd9oi8QDYZBBE84RNIsN?= =?iso-8859-1?Q?B4MpeMaw95PyOSnPXZmNFAPiBSF5dSbyZazXeAb1CtR/LCMQSOBtqngHqE?= =?iso-8859-1?Q?k1sXa39CHlsEkvnVtvuDTNg0nE74LeDBTmEvM97cCPvTupU/Eg7lTecUDZ?= =?iso-8859-1?Q?PrIqD5DFjw/gpcwe8PXBBTvd3s0TvJDic/dWwq9xihcNMld9wTiOiKv2xs?= =?iso-8859-1?Q?9+h3FH48Rh1OUm2mW2lFKdZfqq3JjvrPam+tQYqLM3Ni6CwXYj2KkrBKDn?= =?iso-8859-1?Q?pvLutSCKU3S57S66F92II7BeMLVRtGWxxQjqka0qQ+PCan8dJlp7IWlwca?= =?iso-8859-1?Q?a8FmE1XQWVxkbQRCh5R/jNoWd+37NWSdLjy64Q7AVv3o/kw45UZv4nmoiV?= =?iso-8859-1?Q?kH7XG1jEehClzFJcdiuIzjk3OsidjVAq2ighq/TavFMtofGWBz0YSEMnC2?= =?iso-8859-1?Q?bJOu1pBUYxw8T7gf9UOw8j/pqgH/HwoMvcYP96aICR3NujDLMjWCFlthqD?= =?iso-8859-1?Q?ATUPY/hbQrCNhC1ISsLq33j4HfjQYNxNzWDwr58ylitGrZM=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 17d79a53-31b4-476f-e64c-08d90955904a
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2021 08:22:14.6557 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Jphy3Qtg0yjds6b+vg2igBMDt2UjEF6JbKscRRYb1jqf/t9WhpXpmZZB07dCNMFEO17tSSU9BMuCMNHPBoYGWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7942
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/gsaantJ_QMW-90dpHKTFG2ZunAI>
Subject: Re: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 27 Apr 2021 08:22:22 -0000

inline <tp>

From: Idr <idr-bounces@ietf.org> on behalf of Jakob Heitz (jheitz) <jheitz=40cisco.com@dmarc.ietf.org>
Sent: 26 April 2021 00:28

My understanding of TCP zero window is different.
It is the peer sending 0 in the "window" field of the TCP header
in the 16 bit word, at offset 14 bytes into the header.
That means it will not accept any TCP data from you,
but it is perfectly capable of sending you data and
accepting your acks for it.
If it were not so, then it would not be able to send you keepalives
and your hold timer would expire.

If a peer sends you zero window, it means one thing only:
That it does not have your latest routes.

It does not mean that all its other routes are also stale.
If that were the case, then it would send zero window to its
other peers and they would take care of it themselves.

It does not mean that the data plane is broken.
If that were the case, you would get either no keepalives
from the peer or no more acks to your own keepalives.
<tp>
I agree with you up to the last sentence  If the TCP window is zero, then you cannot send anything, apart from ACK and similar control packets (since ACK controls the window and so has to get through).  Your own keepalives cannot be sent, just as updates cannot be sent.  I think that this is spelt out in the I-D.

I would say that the TCP dataplane is working just fine, it is the BGP dataplane that has become simplex and so not much use for routing!

Tom Petch
Tom Petch

If forwarding is broken one way from you to your peer, then
you will no longer get ACKs back from keepalives or other
BGP packets you send to your peer. This is not a zero window
condition. This may be another condition we wish to monitor.
Note, there are other ways to monitor this condition, e.g. BFD.

Regards,
Jakob.

-----Original Message-----
From: Jeffrey Haas <jhaas@pfrc.org>
Sent: Sunday, April 25, 2021 12:27 PM
To: Jakob Heitz (jheitz) <jheitz@cisco.com>
Cc: Robert Raszuk <robert@raszuk.net>et>; idr@ietf. org <idr@ietf.org>rg>; Ben Cox <ben=40benjojo.co.uk@dmarc.ietf.org>
Subject: Re: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested

Jakob,

On Sun, Apr 25, 2021 at 06:01:06AM +0000, Jakob Heitz (jheitz) wrote:
> A long time of TCP zero window does not indicate a data plane
> problem, nor a problem with routes received from the stuck peer.
> The blockage is in one direction only. The local speaker is unable
> to end routes to the stuck peer, but is able to receive routes
> from the stuck peer just fine.

This tickles a related point:

If a peer has zero-windowed you, you are unable to send any ACK
frames to that peer.  This means that we're potentially in a very slow race
for the remote peer to eventually send enough data that it similarly zero-
windows.

At that point, the remote peer should eventually give up trying to transmit
as well. Locally, the hold timer would expire.

> Therefore, I would propose that the response of the local speaker
> should be to retain the routes of the stuck peer when it resets the
> session, GR style.

Having GR is a reasonable mitigation when you're not concerned about the
routes the local router having already been stuck for a very long time.

In some circumstances it may make better sense to get the router with the
misbehaving TCP session out of the forwarding path as possible.

-- Jeff

_______________________________________________
Idr mailing list
Idr@ietf.org
https://www.ietf.org/mailman/listinfo/idr