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

John Scudder <jgs@juniper.net> Tue, 15 December 2020 21:48 UTC

Return-Path: <jgs@juniper.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 DA33B3A005D; Tue, 15 Dec 2020 13:48:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=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=juniper.net header.b=k6bmHrvH; dkim=pass (1024-bit key) header.d=juniper.net header.b=BPQyqgI2
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 hxCtpfLTpv5s; Tue, 15 Dec 2020 13:48:00 -0800 (PST)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (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 634963A0045; Tue, 15 Dec 2020 13:48:00 -0800 (PST)
Received: from pps.filterd (m0108163.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BFLTblt012730; Tue, 15 Dec 2020 13:47:59 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=stZ0+/8dqBJ80iFle/YcH0K/Ma2jHTBikVlVyXV6Dvw=; b=k6bmHrvH+FFQyBEm+R81RdqS54jhJLGC2Frh1NUlfvqQgcaa9V7BH9Q2MC1vXAgQfODM TwG1RqW+dIaXdU5Gg11QZlLnhSBVzKqXn6yoOYy4u18WWvjMSu2RkGQNvKn3Rv6gLExj a4tk55hwe+KU39gAvMKNC3JCvPQ0n0ratK8h5sjCmkDeAafHTBE6BW4yAvGF+Y8fs1hG qn0r+2mSsV/zYRhe7iXhksEl11jjL3zya3QxaAKt2YYEdNfUqZBFI3ZBgIavjJaYwUAY zGCmn8VrST7mSrBxGGsgPA4bUwTtYgthD7n9iDfVm+gVyoVo7eS6iOp5uvoWfE9ExobV Mw==
Received: from nam04-co1-obe.outbound.protection.outlook.com (mail-co1nam04lp2052.outbound.protection.outlook.com [104.47.45.52]) by mx0b-00273201.pphosted.com with ESMTP id 35eygk0uc1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 15 Dec 2020 13:47:58 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NbuF/bd6XvYbtSUlxDthyv+WnHz6rUwdMjdOoUWh8pim+g3nxutemxV+IgifNRIetbwAzxuCAuoZ3PQ8hKxVg3yFxXwpon/IuldUCc6Fv+1R/ydrzHg65fjHB3F3i3n3S6SfotaK9KOgCsX9l5RCeKrH8eczA/tLME90Qj8+sUi+Df+I8rCRqjUD7hurFN8qHGHuKezjpkqo6Qr+hFwUPQKBg7a7lB8G57Sh4gSWVhLV4OtRCfkWBTN49Mqkiwm5QXv0E9ovYCHtVSRloJnIssp0StIwocoDXALwxSi8m+NxTOTc87LHQdFhYsR7+HTJs+uFBB24OKqFkq3VaKZi1w==
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=stZ0+/8dqBJ80iFle/YcH0K/Ma2jHTBikVlVyXV6Dvw=; b=h8a+QrlRb2PvdftVErjkjdPr0/QqN3sNuUKqG8xqJqwhPl81GAdkIcH+/dBEaSkwTH1TBxlol3GUCOcFjnQ3yMREXbykKBCfuRixCuXVimjUDexTSSno/4JMweVYGXXqyD8ivWrBMKWnLL6w4gPPzgV8KsZ4ml+VueIG2/dmQ5QngryG3rNM10oAoUu6kpYHeweVmqwvGc/JQld3z/XDiJqYsj2MVVooqt9rD6nWyAZREyfe2FYdgkGlmsCiP0HwdcpgX9BygLS3B0eksHWauLV/YgodfSIJvbfsls+3oqonPXC/giwOv7sJuK/50Jp4rigbJGQUxEaVCQVsapBH8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=stZ0+/8dqBJ80iFle/YcH0K/Ma2jHTBikVlVyXV6Dvw=; b=BPQyqgI2/IQmUPGaU0rYGH0BfPrvht9l9gBfh7KD06TvEGwhfzBsqpfliSWi1GfESxEoDGPefuCuWCACLTfzLYYLmprUkanbRfSdMM1FukO+UJFlxXnTgFw8PT2y2HBVeNsTeGdke1ksgm6bLjRmESkNV1LT1ZhL8G/Nvb9orSQ=
Received: from MN2PR05MB6109.namprd05.prod.outlook.com (2603:10b6:208:c4::20) by MN2PR05MB6045.namprd05.prod.outlook.com (2603:10b6:208:cf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.12; Tue, 15 Dec 2020 21:47:54 +0000
Received: from MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::f91f:55f3:3130:d318]) by MN2PR05MB6109.namprd05.prod.outlook.com ([fe80::f91f:55f3:3130:d318%5]) with mapi id 15.20.3676.018; Tue, 15 Dec 2020 21:47:54 +0000
From: John Scudder <jgs@juniper.net>
To: "Jakob Heitz (jheitz)" <jheitz=40cisco.com@dmarc.ietf.org>
CC: Christoph Loibl <c@tix.at>, "idr@ietf.org" <idr@ietf.org>
Thread-Topic: [Idr] TCP & BGP: Some don't send terminate BGP when holdtimer expired, because TCP recv window is 0
Thread-Index: AQHWz/PUVnNdU7dhTEany/fuPhqhnKnzMNSAgABM7oCAAAJ3gIAABHgAgAUVKwCAABAegIAAAxsAgAAK5gA=
Date: Tue, 15 Dec 2020 21:47:54 +0000
Message-ID: <6B283EA0-C27A-4A47-A41B-BD4816257FFA@juniper.net>
References: <X9PHRuGndvsFzQrG@bench.sobornost.net> <CAOj+MME4OHmoqJfzNQ4Tj6+wCd1kJVHPfJsDbk_+Xh8fh5G8Dg@mail.gmail.com> <6F7C5906-51A8-43C2-8AEC-3DB74CB9941F@tix.at> <1B4E7C9D-BBFE-4865-87F9-133ACE55D122@cisco.com> <22C381D0-2174-4828-A724-FD97B2FE0BCB@tix.at> <9D6268BD-C555-4B9A-A883-9B55EEB5D5DA@juniper.net> <91D9B9F7-0DBE-45E6-84D5-2E3D9F8C44A1@tix.at> <BYAPR11MB32079720AAC087E08F8F730BC0C60@BYAPR11MB3207.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB32079720AAC087E08F8F730BC0C60@BYAPR11MB3207.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.4)
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none; dmarc.ietf.org; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [162.225.191.192]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: c1c930d4-b887-47ef-4849-08d8a143143b
x-ms-traffictypediagnostic: MN2PR05MB6045:
x-microsoft-antispam-prvs: <MN2PR05MB6045B118E31C929D4C61D444AAC60@MN2PR05MB6045.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: fZ1ysHfrpHQeoAX4VAOB/DdMW+Pmr+UMWyuX6FCGhIbbMhkibyz+dgsGuSVLD6Vp3POweJtglDVP45/8y/ogwLyKmdB1F5J7cAwarFLqj1WuV9E4tZI6Bcb3F/heoBg2brVhLB1BI3w/TvuSlVQGgMgvwBZpGDcv6MflLNmBDwvLT0aEF7v9YO6fXZYLJpCPXrbtVN99LHqJOnRU4KO0Y08wU5MfaQXgYB5kNionNSunrmU7bcJ+9pMm/S2ajIRbinPagqNIpnXTvVXfymvD0nAWia3AuBoTd7AYbNjPXlpuN8b7W3inCkIoYEKwAzCWHvwbacZsVe5ViCYDwllL0Iyx6xLmdAGFj40iV1Ok2j62xfWdpW1+Cc+91erltmI/IOUZsVADuYXeH1tfOtncwPWSFFxa5Ofc2Rf1eApkGKTNbwSlcHbGHTWeH2HiiG2IgfhyJZPnDElGoeVA6ZO/XkhhLAF9AkshjJkttBC5paJdUwi0JHSz9UfguFZuNhPrLOY9svii2mPjofsjWOM+lV6jmaep/Qg4PXFPYMKBk8gIFmYXpB1UMs4SlBUZMi54
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR05MB6109.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(346002)(136003)(396003)(376002)(366004)(186003)(86362001)(66476007)(8936002)(53546011)(166002)(478600001)(66556008)(76116006)(66946007)(8676002)(36756003)(83080400002)(66446008)(6512007)(2616005)(71200400001)(83380400001)(966005)(91956017)(64756008)(6506007)(2906002)(4326008)(5660300002)(6486002)(26005)(33656002)(54906003)(316002)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: UREKcxCaa0hlS/snBjd2Q0nnO3lVXs7wuaSdAepYcqjVjT5vzAZApifDEZXuLbYJiwornJvSZWdh34fecEUWRNMNgUlakIcsz6i8SVFKVRGh9l62RD2Lbrqy6XK3BmQJakYIOAJjvVlBgOLN9Y1mUsQlwumb4CQbsCpCFRSVvQacJEVN15aHi+q6/gjhP/cObYRD2ia0NCMbgwQDhSfqanB00NZeZx1ntuY/MKDmLb9sw9Fw9+BxhIXnUAI5nbAQ/A7U/CoKWNp/W//D61mYT5Qh8mizihuM4gfY+FKNG2h5vi5kyDhdmUysf+PpLjybpkQq6Wg6EW/w6q/h3o3DRSOv7hVG1vS5mzmsOMvKDZMmxd9HE3yF1GFB2Dsz0b2LkCKStsOprYJ7+wS8HQ9q2/fQZN6RsMxjHKnDGKZxYYKTH3iJs9TNGkzzYGSw6gtpV16Rn0PWee7AZsZC07SNAuKqvSneNn7GHkPUJpQet+YMjPS0PkzzZvX1r+ZJGmnmQ+pxQZK8ML36hMJS7OZOLQ9uNJ7UvuG0t2GWK4vmjDcCW5IjVoRHq1mZgUhlCMnDnv1g0k5cD9JQFTVbvZQAdWgf3rwHTZtSBIe0r9rSID7ZqbZpT/xZr8cyuDIiBVrld7/aV+TrINgB2ZZKb9SQA71Vg5/JJAw7zlB8VY1KwvIUJDyb2lXHSNCVjc2yXRAJdwq2/h/2ONwAQ08UcWuIqtE2sHP4EPb/miJASbcTytGFLWEGthhjLNj41sv1x+qrUWXMAyGHENY6Rn8ceRf5jAyBt43ndglEkGRwCBptYIiBYhS7o0cMM9HYaPWTx57FnvjwmyWuKqUxWh3JX+ZmY4Bk1U5GKPiwVXPfOeiUMBTsizE5i9HhzSzP2YdLEc18DmhsO9EdsKgpJ1c02/DwsYyLhhrqxgh0o58dFyb5P0nzLwihPh+Qu7EKH0yx3+Iv0iSwcg+Kj/cSw+Q4kdPf0WUb11c7w6GimGCr5m1RitlCmRJ9WYSo0icOKyR3opJF
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_6B283EA0C27A4A47A41BBD4816257FFAjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR05MB6109.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1c930d4-b887-47ef-4849-08d8a143143b
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2020 21:47:54.5726 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kfksLs8lNs4RhCxxyGK837+71xuHrzPdc67vEtZY8Wnx26Dbqq79RmJdrd5rAO9g
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR05MB6045
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2020-12-15_12:2020-12-15, 2020-12-15 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 bulkscore=0 phishscore=0 spamscore=0 clxscore=1015 adultscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012150145
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/CP2XDmiP_vEc6--2zTL6IhIhcaY>
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: Tue, 15 Dec 2020 21:48:05 -0000

Agreed.

—John

On Dec 15, 2020, at 4:08 PM, Jakob Heitz (jheitz) <jheitz=40cisco.com@dmarc.ietf.org<mailto:jheitz=40cisco.com@dmarc.ietf.org>> wrote:

[External Email. Be cautious of content]


There is a queue from rtr-B BGP to rtr-A BGP. This queue stretches through the TCP implementations on both routers. That means it consists of the TCP send buffer in rtr-B and the TCP receive buffer in rtr-A, whatever might be in the forwarding buffers on both routers and maybe some IPC queues and whatever else. rtr-A BGP only knows what it is pulling from its receive socket. BGP does not know or care what wnd=0 means. As long as it can keep pulling from its receive socket, it cannot expire its hold timer. An important check that a BGP implementation must do before expiring its hold timer is: "is my TCP receive socket empty?".

Regards,
Jakob.

-----Original Message-----
From: Christoph Loibl <c@tix.at<mailto:c@tix.at>>
Sent: Tuesday, December 15, 2020 12:58 PM
To: John Scudder <jgs@juniper.net<mailto:jgs@juniper.net>>
Cc: Jakob Heitz (jheitz) <jheitz@cisco.com<mailto:jheitz@cisco.com>>; idr@ietf.org<mailto:idr@ietf.org>; Robert Raszuk <robert@raszuk.net<mailto:robert@raszuk.net>>
Subject: Re: [Idr] TCP & BGP: Some don't send terminate BGP when holdtimer expired, because TCP recv window is 0

John,

Thanks for answering my question in more detail. Maybe I was unclear (but reading your email I think we are talking about the same).

On 15.12.2020, at 21:00, John Scudder <jgs@juniper.net<mailto:jgs@juniper.net>> wrote:

I think you are talking about this scenario. I’ll copy the example from Rob’s message cited above:

 rtr-A                   rtr-B
 (congested c-p)         (uncongested c-p)
 send window: >0         send window: 0
 recv window: 0          recv window: >0

In this case we expect:
a) rtr-B does not send any BGP packet (KEEPALIVE/UPDATE/NOTIFICATION)
to rtr-A in normal operating circumstances.
b) rtr-A does not expect any KEEPALIVE/UPDATE packets from rtr-B. The
session remains established even if no packet is received in the
holdtime.
c) rtr-A continues to send KEEPALIVE packets to rtr-B.


The part I have a problem to understand is b). It is clear that rtr-A will not receive any packets from rtr-B because rtr-B cannot send them (send window: 0). But does "rtr-A does not expect any KEEPALIVE/UPDATE packets from rtr-B” mean that rtr-A has essentially suspended its hold-timer until it is ready to receive new messages and opens up its recv window? If yes, why? I would expect timers to run independently of the transport protocol.

Cheers Christoph

--
Christoph Loibl
c@tix.at<mailto:c@tix.at> | CL8-RIPE | PGP-Key-ID: 0x4B2C0055 | https://urldefense.com/v3/__http://www.nextlayer.at__;!!NEt6yMaO-gk!Qm49_lCxrC4mUilTalG2MTz0dehIKXi0GAQ2hUdoNkILySKQdek0AWSPrbUfyQ$




_______________________________________________
Idr mailing list
Idr@ietf.org<mailto:Idr@ietf.org>
https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/idr__;!!NEt6yMaO-gk!Qm49_lCxrC4mUilTalG2MTz0dehIKXi0GAQ2hUdoNkILySKQdek0AWQy5xj9EA$