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

Jeff Tantsura <jefftant.ietf@gmail.com> Fri, 11 December 2020 21:08 UTC

Return-Path: <jefftant.ietf@gmail.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 784143A0EED for <idr@ietfa.amsl.com>; Fri, 11 Dec 2020 13:08:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 i5Cth0GaihAn for <idr@ietfa.amsl.com>; Fri, 11 Dec 2020 13:08:00 -0800 (PST)
Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B729F3A0EEC for <idr@ietf.org>; Fri, 11 Dec 2020 13:08:00 -0800 (PST)
Received: by mail-pf1-x432.google.com with SMTP id i3so7749977pfd.6 for <idr@ietf.org>; Fri, 11 Dec 2020 13:08:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=content-transfer-encoding:from:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=Uk++3aWWSPuXym2R3Bs8PDdaOP9HxEq7e3HxE2m3C7s=; b=NbB4xYMOKvFhH6F4ODUDBFPj2jSWNdcxniED2aftyuhJWWQFY9RK7dKxiYr4XEmBQr npdTmSpmEOrO62IPlXQwWiCF5SY4FpaXNY2neRrjgsPo1nJg0BfGxzxQhpBxjV7RQat3 t3PFrWqDXokeX6alGHADE2cjeNCIzVvJpeMKlMLcNeTum/Pn2RVe+45gY7lzxI1bEf8V LiMbotNnRMhsmEp37qWjuEVNFNKtA/k2ay6BUKzTpKfg915bzV8pB/I3K+qafsLiKJGR 0UccOfoCgKUd+kz+noXuuo9mh2NX2NSMDRQRTW48c6rIbTmQwLCyVq/uZ7HV/behEOhp dQSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=Uk++3aWWSPuXym2R3Bs8PDdaOP9HxEq7e3HxE2m3C7s=; b=NGZxuTcCreqQKioh3YS20mwnSa18+eOjI3UCmEgOd97P73Lq+Sb6fRou1f6oBXFBRV frLGLxVOHN0Xu6AAeiwyWoGyLL/X/nET0kuzFOagg7gPR8bxBOtFL0x9sn3uzCYKN4n0 GV1i0d+WkGrzl+dspaYlBrmpUwjvgh0IfObX4Y+RfEJcszgI+J3JyQHQxmf5+lL80ql3 TmjsW5aMZv1XUBN6lOdBr5oPRxlIMbo3fN5z6Dmnkg7dxQd6XbA1PZYazH46abjAoG1Q xPRhSsDp1PKjqUtiIHDLtne6UVp/WKocIjjZHjg3tG4N+z6iEUrEEMwYxE+SCJcaMn13 70WQ==
X-Gm-Message-State: AOAM5330/d/5POfoKuwC3G2HbTwBxP3byMvR2C+xmAadCfEu92JLzt9H oAplaMopc+M0SvIR+t4kzvQ=
X-Google-Smtp-Source: ABdhPJyD7BQ1EqP4nLyTAlhyxOlefRCdSSQ6J5ajJHpuUYdl9CFm07FeD4y57vGKX46tGC0Jr6le7A==
X-Received: by 2002:a63:e:: with SMTP id 14mr13552035pga.426.1607720880191; Fri, 11 Dec 2020 13:08:00 -0800 (PST)
Received: from [192.168.1.12] (c-73-63-232-212.hsd1.ca.comcast.net. [73.63.232.212]) by smtp.gmail.com with ESMTPSA id a17sm10067827pgw.80.2020.12.11.13.07.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 11 Dec 2020 13:07:58 -0800 (PST)
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
From: Jeff Tantsura <jefftant.ietf@gmail.com>
Mime-Version: 1.0 (1.0)
Date: Fri, 11 Dec 2020 13:07:57 -0800
Message-Id: <7AA381A1-7BF2-40AB-874C-FD2A256C8046@gmail.com>
References: <B4C63E35-5B42-45A6-92CC-F6704F7568F8@gmail.com>
Cc: Job Snijders <job@sobornost.net>, idr@ietf.org
In-Reply-To: <B4C63E35-5B42-45A6-92CC-F6704F7568F8@gmail.com>
To: Tony Li <tony1athome@gmail.com>
X-Mailer: iPhone Mail (18B92)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/6OF441OZOzSOHhbYzWU4vDqWWGg>
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: Fri, 11 Dec 2020 21:08:04 -0000

I’m with Tony, RST without Notification would be anything but useful/helpful for troubleshooting.
Doing both, and in that particular order would ensure consistency, and if Notification does make it through - assist with troubleshooting.

Regards,
Jeff

> On Dec 11, 2020, at 12:00, Tony Li <tony1athome@gmail.com> wrote:
> 
> 
> Hi Job,
> 
> 
>> Does everyone agree BGP-4 sessions MUST be terminated using a TCP RST
>> (instead of a BGP-4 Cease NOTIFICATION) if the peer has indicated for
>> the duration of the Hold Timer that the TCP receive window is zero?
> 
> 
> Not quite.  I agree that the session should be terminated if the TCP receive window
> is zero for the duration of the Hold Timer. Clearly the receiver is stuck and the
> receiver should be terminating the connection. For robustness, it makes sense that
> the transmitter also close the connection. 
> 
> I would prefer to see the transmitter do both: queue a NOTIFICATION and reset
> the TCP connection. Yes, the NOTIFICATION will probably never make it out. The advantage
> of doing it this way is that the code path for errors will be more consistent: always send
> a NOTIFICATION before the RST. This code path is also likely to send appropriate signaling to
> the management plane. This is also useful in debugging: if you go through the
> message queue, the NOTIFICATION will be sitting there in the queue.
> 
> 
>> Perhaps RFC 4271 Section 6.5 should be amended as following:
>> 
>> OLD:
>>   If a system does not receive successive KEEPALIVE, UPDATE, and/or
>>   NOTIFICATION messages within the period specified in the Hold Time
>>   field of the OPEN message, then the NOTIFICATION message with the
>>   Hold Timer Expired Error Code is sent and the BGP connection is
>>   closed.
>> 
>> NEW:
>>   If a system does not receive (or is unable to send) successive
>>   KEEPALIVE, UPDATE, and/or NOTIFICATION messages within the period
>>   specified in the Hold Time field of the OPEN message, then the
>>   NOTIFICATION message with the Hold Timer Expired Error Code is sent
>>   and the BGP connection is closed. If the NOTIFICATION message cannot
>>   be send the BGP connection is closed.
> 
> 
> Your proposed text does what I prefer, not what you suggested above. I would suggest
> two edits: (1) remove then parentheses in the first sentence, they are unnecessary, and
> (2) remove the last sentence.
> 
> Regards,
> Tony
> 
> 
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr