Re: [Idr] [Technical Errata Reported] RFC4271 (3366)

Shashank Tyagi <Shashank.Tyagi@microsoft.com> Tue, 02 October 2012 13:59 UTC

Return-Path: <Shashank.Tyagi@microsoft.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 999AF21F84B2 for <idr@ietfa.amsl.com>; Tue, 2 Oct 2012 06:59:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.999
X-Spam-Level:
X-Spam-Status: No, score=-2.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Om6J2GBmOqBy for <idr@ietfa.amsl.com>; Tue, 2 Oct 2012 06:59:26 -0700 (PDT)
Received: from co1outboundpool.messaging.microsoft.com (co1ehsobe006.messaging.microsoft.com [216.32.180.189]) by ietfa.amsl.com (Postfix) with ESMTP id 59C1721F8496 for <idr@ietf.org>; Tue, 2 Oct 2012 06:59:26 -0700 (PDT)
Received: from mail118-co1-R.bigfish.com (10.243.78.228) by CO1EHSOBE015.bigfish.com (10.243.66.78) with Microsoft SMTP Server id 14.1.225.23; Tue, 2 Oct 2012 13:59:25 +0000
Received: from mail118-co1 (localhost [127.0.0.1]) by mail118-co1-R.bigfish.com (Postfix) with ESMTP id CE702980115; Tue, 2 Oct 2012 13:59:25 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:131.107.125.8; KIP:(null); UIP:(null); IPV:NLI; H:TK5EX14HUBC104.redmond.corp.microsoft.com; RD:none; EFVD:NLI
X-SpamScore: -29
X-BigFish: VS-29(zz9371I542M1432I1418I4015Izz1202h1d1ah1d2ahzz8275ch1033IL17326ah8275bh8275dh172cdfhz2fh2a8h668h839h944hd25hf0ah107ah1220h1288h12a5h12a9h12bdh137ah13b6h1155h)
Received-SPF: pass (mail118-co1: domain of microsoft.com designates 131.107.125.8 as permitted sender) client-ip=131.107.125.8; envelope-from=Shashank.Tyagi@microsoft.com; helo=TK5EX14HUBC104.redmond.corp.microsoft.com ; icrosoft.com ;
Received: from mail118-co1 (localhost.localdomain [127.0.0.1]) by mail118-co1 (MessageSwitch) id 1349186364192699_31844; Tue, 2 Oct 2012 13:59:24 +0000 (UTC)
Received: from CO1EHSMHS022.bigfish.com (unknown [10.243.78.245]) by mail118-co1.bigfish.com (Postfix) with ESMTP id 2587D840058; Tue, 2 Oct 2012 13:59:24 +0000 (UTC)
Received: from TK5EX14HUBC104.redmond.corp.microsoft.com (131.107.125.8) by CO1EHSMHS022.bigfish.com (10.243.66.32) with Microsoft SMTP Server (TLS) id 14.1.225.23; Tue, 2 Oct 2012 13:59:21 +0000
Received: from SINEX14HUBC401.southpacific.corp.microsoft.com (157.60.220.215) by TK5EX14HUBC104.redmond.corp.microsoft.com (157.54.80.25) with Microsoft SMTP Server (TLS) id 14.2.318.3; Tue, 2 Oct 2012 13:59:13 +0000
Received: from SINEX14MBXC401.southpacific.corp.microsoft.com ([169.254.1.140]) by SINEX14HUBC401.southpacific.corp.microsoft.com ([157.60.220.215]) with mapi id 14.02.0309.003; Tue, 2 Oct 2012 13:59:09 +0000
From: Shashank Tyagi <Shashank.Tyagi@microsoft.com>
To: "t.petch" <ietfc@btconnect.com>, "yakov@juniper.net" <yakov@juniper.net>, "tony.li@tony.li" <tony.li@tony.li>, "skh@nexthop.com" <skh@nexthop.com>, "stbryant@cisco.com" <stbryant@cisco.com>, "adrian@olddog.co.uk" <adrian@olddog.co.uk>, "shares@ndzh.com" <shares@ndzh.com>, "jgs@juniper.net" <jgs@juniper.net>, RFC Errata System <rfc-editor@rfc-editor.org>
Thread-Topic: [Idr] [Technical Errata Reported] RFC4271 (3366)
Thread-Index: AQHNm8bsE8GH85SgyUCDhjNPddrFsJemEEpsgAACBJA=
Date: Tue, 02 Oct 2012 13:59:08 +0000
Message-ID: <B57D4E80DCDFC64D81BCA4D6FB7E8A662207E8D7@SINEX14MBXC401.southpacific.corp.microsoft.com>
References: <20120926090655.84AD3B1E002@rfc-editor.org> <000b01cda0a3$ea0c4b00$4001a8c0@gateway.2wire.net>
In-Reply-To: <000b01cda0a3$ea0c4b00$4001a8c0@gateway.2wire.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.3.89]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-FOPE-CRA-Verdict: 131.107.125.8$juniper.net%12218%4%microsoft.com%False%True%0$btconnect.com%0%1%microsoft.com%False%False%0$
X-OriginatorOrg: microsoft.com
X-Mailman-Approved-At: Tue, 02 Oct 2012 10:15:53 -0700
Cc: "idr@ietf.org" <idr@ietf.org>, "rfc-editor@rfc-editor.org" <rfc-editor@rfc-editor.org>
Subject: Re: [Idr] [Technical Errata Reported] RFC4271 (3366)
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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, 02 Oct 2012 14:00:42 -0000

Hi Tom,
              Thanks for your reply. Yes it refers to OpenSent state sorry forgot to mention that. Few comments:
-In OpenSent the KEEPALIVE has not been sent, only the Open message has been sent. So there would be no receipt of KEEPALIVE. 
-Also when moving from OPENSENT to ACTIVE in case of TCP failure the rfc says to close the BGP connection. Why should the HoldTimer be running without a BGP connection?

Thanks,
Shashank

-----Original Message-----
From: t.petch [mailto:ietfc@btconnect.com] 
Sent: Tuesday, October 02, 2012 7:12 PM
To: yakov@juniper.net; tony.li@tony.li; skh@nexthop.com; stbryant@cisco.com; adrian@olddog.co.uk; shares@ndzh.com; jgs@juniper.net; RFC Errata System
Cc: Shashank Tyagi; rfc-editor@rfc-editor.org; idr@ietf.org
Subject: Re: [Idr] [Technical Errata Reported] RFC4271 (3366)

>From the Original Text, I infer that this refers to OpenSent, when event
18 occurs.

The Notes say

"HoldTimer should only be used to control time in between BGP packets. "

This is true but in OpenSent state (p.63), a KEEPALIVE has been sent (as well as an OPEN) so the timer should be running.

"Also in this case it can lead to case in ACTIVE state where HoldTimer expires before the ConnectRetryTimer leading to IDLE state."

Well, it will lead to Active state (p.59) - that is what the text says - and event 10, HoldTimer expires, will then take you to Idle state (p.63).

The expectation is that the HoldTimer has been set to a large value, 4 minutes, which is much greater than the ConnectRetryTimer (90s) and it is the expiry of the latter that should take you out of Active state to Connect and thence to OpenSent when the HoldTimer will be restarted.
Note that the receipt of a KEEPALIVE (event 26) also takes you from Active to Idle - I think that the two cases are similar, that the BGP connection did not reach second base.  You are in trouble either way and back to Idle is the safe thing to do.

Of course, if you ignore that advice to set the HoldTimer to a large value - you have yet to receive an OPEN and so do not know what value will be acceptable to the peer - and set it instead to 3s, then yes, you will get back to Idle more often than is desirable.

Nowadays, there is a greater wish to keep BGP connections up, compared to when we wrote RFC4271, but I think that, in this case, there is nothing worth keeping up and going back to Idle is the right thing to do.

(I am not sure what the best distribution for this is so I have used 'Reply All' but expect that that should be trimmed soon).

Tom Petch


----- Original Message -----
From: "RFC Errata System" <rfc-editor@rfc-editor.org>
To: <yakov@juniper.net>; <tony.li@tony.li>; <skh@nexthop.com>; <stbryant@cisco.com>; <adrian@olddog.co.uk>; <shares@ndzh.com>; <jgs@juniper.net>
Cc: <shtyagi@microsoft.com>; <rfc-editor@rfc-editor.org>; <idr@ietf.org>
Sent: Wednesday, September 26, 2012 10:06 AM
Subject: [Idr] [Technical Errata Reported] RFC4271 (3366)


>
> The following errata report has been submitted for RFC4271, "A Border 
> Gateway Protocol 4 (BGP-4)".
>
> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=4271&eid=3366
>
> --------------------------------------
> Type: Technical
> Reported by: Shashank Tyagi <shtyagi@microsoft.com>
>
> Section: 8.2.2
>
> Original Text
> -------------
> If a TcpConnectionFails event (Event 18) is received, the local
>       system:
>
>         - closes the BGP connection,
>
>         - restarts the ConnectRetryTimer,
>
>         - continues to listen for a connection that may be initiated
by
>           the remote BGP peer, and
>
>         - changes its state to Active.
>
> Corrected Text
> --------------
> If a TcpConnectionFails event (Event 18) is received, the local
>       system:
>
>         - closes the BGP connection,
>
>         - sets the HoldTimer to 0,
>
>         - restarts the ConnectRetryTimer,
>
>         - continues to listen for a connection that may be initiated
by
>           the remote BGP peer, and
>
>         - changes its state to Active.
>
> Notes
> -----
> HoldTimer should only be used to control time in between BGP packets.
> Also in this case it can lead to case in ACTIVE state where HoldTimer
expires before the ConnectRetryTimer leading to IDLE state.
>
> Instructions:
> -------------
> This errata is currently posted as "Reported". If necessary, please 
> use "Reply All" to discuss whether it should be verified or rejected. 
> When a decision is reached, the verifying party (IESG) can log in to 
> change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC4271 (draft-ietf-idr-bgp4-26)
> --------------------------------------
> Title               : A Border Gateway Protocol 4 (BGP-4)
> Publication Date    : January 2006
> Author(s)           : Y. Rekhter, Ed., T. Li, Ed., S. Hares, Ed.
> Category            : DRAFT STANDARD
> Source              : Inter-Domain Routing
> Area                : Routing
> Stream              : IETF
> Verifying Party     : IESG
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
>