Re: [Idr] I-D Action: draft-ietf-idr-rs-bfd-02.txt

Nick Hilliard <> Wed, 15 March 2017 14:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B73341315D5 for <>; Wed, 15 Mar 2017 07:55:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id H5SsGg84eBjl for <>; Wed, 15 Mar 2017 07:55:10 -0700 (PDT)
Received: from ( [IPv6:2a03:8900:0:100::5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5D1861315DB for <>; Wed, 15 Mar 2017 07:55:10 -0700 (PDT)
Received: from cupcake.local ( [] (may be forged)) (authenticated bits=0) by (8.15.2/8.15.2) with ESMTPSA id v2FEt6Fu077432 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 15 Mar 2017 14:55:07 GMT (envelope-from
X-Authentication-Warning: Host [] (may be forged) claimed to be cupcake.local
Message-ID: <>
Date: Wed, 15 Mar 2017 14:55:06 +0000
From: Nick Hilliard <>
User-Agent: Postbox 5.0.11 (Macintosh/20170302)
MIME-Version: 1.0
To: Jeffrey Haas <>
CC: IETF IDR Working Group <>
References: <> <> <>
In-Reply-To: <>
X-Enigmail-Version: 1.2.3
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [Idr] I-D Action: draft-ietf-idr-rs-bfd-02.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 15 Mar 2017 14:55:13 -0000

Jeffrey Haas wrote:
> We had some text in earlier internal versions of the document that tried to
> make this explicit.  I believe the text that remains is appropriately
> permissive but maybe not as explicit as you might like:

it's definitely permissive, but sometimes it's good to make things easy
for the reader.  FWIW, I think you're having some reverse bikeshedding
here, and part of the reason is a lack of broad brush strokes to make it
easy for the casual reader to follow what's going on in the heads of the

> :   At the route server, the Adj-NHIB-Out for each client is populated
> :   with the next hops from its Loc-RIB.  If the BGP capabilities learned
> :   during BGP session setup identify a next hop as compatible with this
> :   proposal, this is reflected in the NHIB.  Initially, it is assumed
> :   that the client router is able to reach its next hops which is stored
> :   in the NHIB.  If a next hop is added to the NHIB for a particular
> :   client, a route SHOULD be added to the router server's Adj-NHIB-Out.
> The SHOULD is the relevant point.  This didn't make it into the sections for
> explicit NHIB behavior, and probably could use some emphasis in a future
> revision.
> From the client procedure side:
> :   If the client can not establish a BFD session with an entry in its
> :   NHIB, the next hop is put it in the Adj-NHIB-Out for backward
> :   compatibility.
>> A couple of other things:
>> 1.  if a route server client stops announcing prefixes to the route
>> server but still accepts prefixes, do all bfd sessions to it also get
>> torn down?  Or is the purpose of the RS Adj-NHIB-In to ensure stickiness
>> of bfd sessions?  If this is the case, it should be mentioned explicitly
>> because otherwise the feedback loop looks ... well, a bit peculiar.
> Section 5.2:
> :   In the event that a given client that supports this feature does not
> :   provide any routes containing BGP next hops that would be used to
> :   populate an Adj-NHIB-Out entry, the route server SHOULD advertise an
> :   entry for such a router using the provided self-originated entry.
> :   This permits the provisioning of BFD peering sessions for continuity
> :   check when route exchange via the route server is asymmetric and one
> :   client has routes from a second client, but not vice-versa.

Again, to make it easier for the reader, I'd suggest adding in some
helicopter-view text to explain the rationale behind this feedback
mechanism.  It's quite a nice way of handling bfd session stability,
btw, but it really is not obvious from a first (or even second) reading
what the overall picture is.

>> 2.
>>>                    It is incorrect provisioning for an IXP client which
>>>    is using a Route Server to have a BGP session with another IXP
>>>    client.
>> lolno, if I'm reading this correctly.  It's quite usual to have
>> bilateral + multilateral sessions configuration between router pairs.
> I suspected the sanity check might bounce here. :-)

"This text was included intentionally to see if people were paying

> We'll update the wording accordingly.  The main consideration is the new
> SAFI doesn't get negotiated and start transitively propagating the state.

Right, I hadn't considered that.  That would cause a pile of hilarity,
no doubt about it.

> It might be worth adding verbiage about ensuring RS-Reachable SAFI have an
> AS_PATH that is consistent with directly connected peers instead.

ew, ugly hack. Please don't.