Re: [Idr] TCP & BGP: Some don't send terminate BGP when holdtimer expired, because TCP recv window is 0

Jared Mauch <jared@puck.nether.net> Sat, 12 December 2020 15:32 UTC

Return-Path: <jared@puck.nether.net>
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 60F273A11A3 for <idr@ietfa.amsl.com>; Sat, 12 Dec 2020 07:32:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.92
X-Spam-Level:
X-Spam-Status: No, score=-1.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 g8tsTKDpjwcB for <idr@ietfa.amsl.com>; Sat, 12 Dec 2020 07:32:28 -0800 (PST)
Received: from puck.nether.net (puck.nether.net [204.42.254.5]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B43F3A11A1 for <idr@ietf.org>; Sat, 12 Dec 2020 07:32:28 -0800 (PST)
Received: from [IPv6:2607:fb90:891e:3c58:dc1:33c9:da21:8bfe] (unknown [IPv6:2607:fb90:891e:3c58:dc1:33c9:da21:8bfe]) (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 puck.nether.net (Postfix) with ESMTPSA id C2AD45401BF; Sat, 12 Dec 2020 10:32:26 -0500 (EST)
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (1.0)
From: Jared Mauch <jared@puck.nether.net>
In-Reply-To: <22C381D0-2174-4828-A724-FD97B2FE0BCB@tix.at>
Date: Sat, 12 Dec 2020 10:32:24 -0500
Cc: "Jakob Heitz (jheitz)" <jheitz@cisco.com>, idr@ietf.org, Robert Raszuk <robert@raszuk.net>
Message-Id: <DA696934-CE43-4594-97C0-8292D5465528@puck.nether.net>
References: <22C381D0-2174-4828-A724-FD97B2FE0BCB@tix.at>
To: Christoph Loibl <c@tix.at>
X-Mailer: iPhone Mail (18B92)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/rj_PBgds3fI7c07ngOt0lsANfOk>
Subject: Re: [Idr] TCP & BGP: Some don't send terminate BGP when holdtimer expired, because TCP recv window is 0
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: Sat, 12 Dec 2020 15:32:29 -0000


> On Dec 12, 2020, at 9:23 AM, Christoph Loibl <c@tix.at> wrote:
> 
> drop of TCP connection, … and no way to recover from that.

Some vendors have really bad TCP stacks. I had one that would ack the wrong number of bytes and without setting the keep alive on the socket would block forever as it never knew it went away. 

Some have also not implemented window scaling or other modern rfcs. 

Then when you find the bugs they are concerned about the fix due to how core TCP is for the device. 

This isn't unique to any vendor but those with multiple flavors and OS it's quite interesting to say the least. 

- Jared