Re: [Idr] draft-chen-bgp-redist - A Juniper Perspective
Jeffrey Haas <jhaas@pfrc.org> Sat, 21 August 2021 16:26 UTC
Return-Path: <jhaas@slice.pfrc.org>
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 C1D3D3A166A; Sat, 21 Aug 2021 09:26:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
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 mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tib254KnEwL7; Sat, 21 Aug 2021 09:26:32 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id E27CC3A1668; Sat, 21 Aug 2021 09:26:31 -0700 (PDT)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 0FEF21E27C; Sat, 21 Aug 2021 12:26:30 -0400 (EDT)
Date: Sat, 21 Aug 2021 12:26:29 -0400
From: Jeffrey Haas <jhaas@pfrc.org>
To: Enke Chen <enchen@paloaltonetworks.com>
Cc: draft-chen-bgp-redist@ietf.org, "idr@ietf. org" <idr@ietf.org>
Message-ID: <20210821162629.GE19054@pfrc.org>
References: <20210820192201.GB19054@pfrc.org> <CANJ8pZ-mz8KuWBkgYjuKSRwTW2ycq2VkQKYRqnnFquPQEQ=GNg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CANJ8pZ-mz8KuWBkgYjuKSRwTW2ycq2VkQKYRqnnFquPQEQ=GNg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/oyaVT2hkpq-MuxEK4zn82BMNMtg>
Subject: Re: [Idr] draft-chen-bgp-redist - A Juniper Perspective
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: Sat, 21 Aug 2021 16:26:36 -0000
Enke, On Fri, Aug 20, 2021 at 02:27:40PM -0700, Enke Chen wrote: > Thanks for the pointer to JUNOS's BGP path selection. It's great that the > Gated/JUNOS already has some consideration of the "admin-distance" / > "preference" in BGP. That should take care of the case described in Sect. > 2.1 ("On a single router"). It's not clear to me, though, whether and how > the cases described in Sec. 2.2 ("Network-wide behavior") are handled. In terms of route selection, the behavior remains consistent. If you've set your route's preference to be better from BGP rather than than from your static route (your section 2.2), the better preference will win. However, I think what you're actually asking is implied in your draft but perhaps in need of some additional text: You want admin distance to have domain-wide meaning. I find this problematic. My two high order concerns with the solution space discussed in the draft are: 1. Section 3.3, consistent admin distance across the deployment. (At least on a per-prefix basis.) 2. LOCAL_PREF is the best way to de-pref some classes of backup route. The values various implementations use for their admin-distance style behavior are DEEPLY embedded in the software. While those implementations usually give some level of room to adjust the values in question, doing so in a multi-vendor fashion is likely to be challenging at best. Given such challenges, it's almost an argument that there should be a separate value used for this tuning that is vendor-neutral. I don't think this is likely to be a good answer. Let's come back to this point in a moment. In current BGP route selection, LOCAL_PREF is a very heavy hammer to use on route preferencing. For all practical purposes, the minute one of your contributing routes has a worse local preference than other otherwise comparable routes, it's out of the game. If this is your intent, as I think your draft scenarios are largely tailored for, this works fine. But I suspect you'll find most operators usually have 2, maybe 3 values of LOCAL_PREF they want to use because of this property. In situations where you may want individual routers to make specific choices for de-preferencing a route, that decision may be local. Even so, that local decision's result may want to be otherwise comparable for the rest of the deployment. I think your answer to this point is, "No adjustment to local-preference is necessary". But if that local decision is made based on some form of admin-distance and the procedures you're proposing are in place, you now have exception cases to write code or policy for. Where these two things lead us is what I think your not-quite-stated desire is in this draft: You want a level of total-ordering of route selection across the deployment, and you want admin-distance to be one of your inputs to that. This is doable with LOCAL_PREF, so I agree with that observation from your proposal. This should theoretically be implementable with nothing more than policy. And this is the kind of thing that operators do on a regular basis. In the implementations you discuss in your draft, the lack of local determinism in the redistribution mechanisms is giving you an interesting headache. Figuring out a useful remediation for that is worth doing. In my opinion, it'd be better to fix the issue of local determinism without forcing that into the local-pref - but I realize that changing existing implementations with other non-obvious consequences is challenging at best. ----- If you accept the above discussion, what do I think you should do about my comments? - Update the draft to focus a bit more on discussion of total ordering of routes across a deployment. + Reach out to the grow WG, NANOG, etc. for their comment on this goal and how this intersects with their own operational practices. - Update your procedures such that you discuss the end-goal of achieving a set of ordered LOCAL_PREF that matches the intent of the total-ordering for the different classes of routes by your metric-of-intent. (admin-distance, as an example). + Discuss how this mapping operation may or may not be able to be accomplished. In some cases, math on a metric may work, but in a multi-vendor environment a local mapping operation may be auto-magic or potentially hand-coded policy may be best. - Make the draft informational status. + Depending on how discussion proceeds, this is perhaps a better fit for grow than idr? Interesting optional discussion: Do we finally tighten up our RFC 4271 language to discuss what redistribution actually looks like? We end up in interesting situations from this ambiguity every few years or so. -- Jeff
- [Idr] draft-chen-bgp-redist - A Juniper Perspecti… Jeffrey Haas
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Robert Raszuk
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Enke Chen
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Jeff Tantsura
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Jeffrey Haas
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Jeffrey Haas
- Re: [Idr] draft-chen-bgp-redist - A Juniper Persp… Jeff Tantsura