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

Job Snijders <> Wed, 20 January 2021 19:09 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AFC763A1262 for <>; Wed, 20 Jan 2021 11:09:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Status: No, score=-2.099 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id yLketGmIAypH for <>; Wed, 20 Jan 2021 11:09:25 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4864:20::442]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2B8D23A12AC for <>; Wed, 20 Jan 2021 11:09:25 -0800 (PST)
Received: by with SMTP id l12so18905040wry.2 for <>; Wed, 20 Jan 2021 11:09:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=oOogRIx9ISTUs8IYkBZybcHEVGNOiA3IaldfW0w39rw=; b=AdxMF8A2dcwDOkGYjw3CCf/IZIzkIC2a/K+7d+XYzFRE5qc4SQF+ApaBbqCD2ftaZR N4INSzTrTHWpiroJhfH54sFTprMHLzFx1lPpvS9BfZtjMK2ne9+mlAu6YlGPoBgel+va 2Y8pJypb4/uVijBxXrdDYi7Db27iXLEoUrb8c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=oOogRIx9ISTUs8IYkBZybcHEVGNOiA3IaldfW0w39rw=; b=XkEcEAmPVftpCkxQ/sz9J3CgalWBapLbSy/DH2Cr4jtZ0HnqVTaB24Gew6e1yn0V9b m+avtR+7MSxvvhXDAcirDOMNYgzd3nGflYSLPmxcKaQ5vooo+RU4cWUDMG9Lz4nwnCTe qh8ArTNzr+hKvjvjNfn40Hi5Hxn6+ywoD7//bDFyV//uLNxTPHZHu7f+0djn5gSoSbis 8J0BQzRGzMyX9mQtZcCioc31i9RUspKtO8o7Cqga8L0fLHQUWfLXJ87malIbvDMVwj7+ B9NhGXWVGU28+DbLUxhFBzQLwy3sKyU6xE78llq7NZQhWyRnoj2XM/CEtfG0rJ5SBd72 5R3A==
X-Gm-Message-State: AOAM532v367+MQsO6E6twk5kreCHR7k8HOryVCjZ1gr0d/O/NbjoLBjt fC0TyitbmVKcPzKdcTAIVAGk6g==
X-Google-Smtp-Source: ABdhPJzD3L5A/pd6SDJlSu/Fl4QItAI8Dfv4X5T79yY/QVIYDrVXKpXcPfH8iHTXaqWVgpr7T9fJLw==
X-Received: by 2002:a5d:4f0e:: with SMTP id c14mr10793972wru.84.1611169763360; Wed, 20 Jan 2021 11:09:23 -0800 (PST)
Received: from snel ( []) by with ESMTPSA id u205sm5382913wme.42.2021. (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Jan 2021 11:09:22 -0800 (PST)
Date: Wed, 20 Jan 2021 20:09:21 +0100
From: Job Snijders <>
To: Enke Chen <>
Cc: John Scudder <>, "idr@ietf. org" <>
Message-ID: <YAh/4dDQaJGcIAYf@snel>
References: <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <>
Subject: Re: [Idr] TCP & BGP: Some don't send terminate BGP when holdtimer expired, because TCP recv window is 0
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 20 Jan 2021 19:09:27 -0000

Dear Enke, group, 

On Wed, Jan 20, 2021 at 10:20:47AM -0800, Enke Chen wrote:
> Here is an update on the TCP_USER_TIMEOUT option in Linux for the
> zero-window case:
> 1) There is a bug in the code, and a fix has been committed to Linux's
> networking git:
> 2) A patch has been committed to Linux's man-page repo to clarify that the
> option also covers the case that buffered data remain untransmitted:
> Thanks.   -- Enke

Wow, thank you, this is a welcome development!

Two follow-up questions for the group:

1) Should the *default* BGP HoldTimer value be the input to mechanisms
   such as the Linux TCP_USER_TIMEOUT option? (a 'Send Hold Timer') Earlier
   on in the thread Tony Li suggested "For robustness, it makes sense that
   the transmitter also close the connection."

2) Should we request IANA to assign a new "BGP Error Notification Code"
   for the purpose of locally correctly logging the reason the remote
   peer was shutdown, or also use Code 4 (Hold Timer Expired) for this

John Scudder brought up that in the current version of the FSM this
would be a 'ManualStop', but I'd like to explore the option of an
automated termination of the connection (until IdleTimer expires).

Kind regards,