Re: [Idr] BGP Auto-Discovery Protocol State Requirements

Jeffrey Haas <> Fri, 19 March 2021 12:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9DB9A3A12D0 for <>; Fri, 19 Mar 2021 05:50:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id m7D7-7dh1qUP for <>; Fri, 19 Mar 2021 05:50:02 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id F09093A12CF for <>; Fri, 19 Mar 2021 05:50:01 -0700 (PDT)
Received: by (Postfix, from userid 1001) id CB5E51E446; Fri, 19 Mar 2021 09:11:32 -0400 (EDT)
Date: Fri, 19 Mar 2021 09:11:32 -0400
From: Jeffrey Haas <>
To: Tony Przygienda <>
Cc: idr wg <>
Message-ID: <>
References: <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
Subject: Re: [Idr] BGP Auto-Discovery Protocol State Requirements
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: Fri, 19 Mar 2021 12:50:04 -0000


On Fri, Mar 19, 2021 at 11:38:54AM +0100, Tony Przygienda wrote:
> Once you go to version number the issue of underlyng transport behavior
> starts to come to the fore. UDP & sometimes L2 can misorder, _badly_, from
> experience. In most extreme cases in virtualized environment I saw UDP
> being buffered & misorderd up to 5 seconds delay. That''s surely extremely
> and until seen bits hard to believe but here you are and you start to look
> once your adjacencies with 3 sec lifetime start to bounce & do _really_
> weird stuff on AF negotiation (since one node talks to the other being 5
> sec in the past ;-)  I debugged that one by establishing a baseline clock
> using reflected numbers in hellos because otherwise none of the logs made
> any sense ;-)

Thankfully, I think that this mechanism is likely to be slow and dumb enough
for misordering to not be too much of a problem.

The intent for BGP auto-configuration is to tell a listener "go peer here".
Truth exists in the actual BGP session.

Stale information means that we're trying with potentially wrong state, but
correcting that in a few seconds would likely be fine.  Changes to session
parameters are likely being done at human time scales, from one
configuration commit to another.

The version is mostly there to say "go try again", and is there in this form
because the BGP Session Paramters are discovered from the BGP session
itself.  It's almost simple enough that a single bit of "I've changed since
last time" would be sufficient, but we know that's not good enough. :-)

-- Jeff