Re: [Idr] draft-ietf-idr-rfc2796bis-01: what's the exact tie-breaking rules

Tony Przygienda <prz@xebeo.com> Sun, 07 November 2004 08:34 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id DAA02488; Sun, 7 Nov 2004 03:34:50 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CQiVy-00027f-H8; Sun, 07 Nov 2004 03:35:10 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CQiTi-0003jr-RP; Sun, 07 Nov 2004 03:32:50 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CQiSg-0003Ym-Vd for idr@megatron.ietf.org; Sun, 07 Nov 2004 03:31:47 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id DAA02351 for <idr@ietf.org>; Sun, 7 Nov 2004 03:31:44 -0500 (EST)
Received: from [216.37.114.8] (helo=lxmail.xebeo.com) by ietf-mx.ietf.org with smtp (Exim 4.33) id 1CQiSn-00023h-MG for idr@ietf.org; Sun, 07 Nov 2004 03:32:05 -0500
Received: (qmail 15794 invoked from network); 7 Nov 2004 08:30:52 -0000
Received: from unknown (HELO xebeo.com) (172.16.104.130) by lxmail.nj.us.utstar.com with SMTP; 7 Nov 2004 08:30:52 -0000
Message-ID: <418DEB62.1050706@xebeo.com>
Date: Sun, 07 Nov 2004 10:31:14 +0100
From: Tony Przygienda <prz@xebeo.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040308
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Enke Chen <enke@bcn-inc.net>
Subject: Re: [Idr] draft-ietf-idr-rfc2796bis-01: what's the exact tie-breaking rules
References: <FBC8FC22A32C4F4AA2FD4551C2E0074E0AC44C@BCNW02.bcn-inc.net>
In-Reply-To: <FBC8FC22A32C4F4AA2FD4551C2E0074E0AC44C@BCNW02.bcn-inc.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 932cba6e0228cc603da43d861a7e09d8
Content-Transfer-Encoding: 7bit
Cc: idr@ietf.org
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
Sender: idr-bounces@ietf.org
Errors-To: idr-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 2ed806e2f53ff1a061ad4f97e00345ac
Content-Transfer-Encoding: 7bit

Enke Chen wrote:

> Hi, Tony:
>
> In general these rules are necessary for route reflection to function 
> properly,
> and they have been widely deployed for at least 6 or 7 years.
>
Hey Enke, that I know and my point was not that 'it does not work', it
was rather request for clarficiation of the spec to reflect reality better,
especially for ECMP ;-)

>
>
> Please see my comments inline.
>
> >     * To: idr at ietf.org
> >     * Subject: [Idr] draft-ietf-idr-rfc2796bis-01: what's the exact 
> tie-breaking rules
> >     * From: Tony Przygienda <prz at xebeo.com>
> >     * Date: Tue, 19 Oct 2004 09:55:24 +0200
> >
> > Reading through bis of the RR draft stumbled over
> >
> >
> > 9. Impact on Route Selection
> >
> >
> >   The BGP Decision Process Tie Breaking rules (Sect. 9.1.2.2, [1]) are
> >   modified as follows:
> >
> >
> >     If a route carries the ORIGINATOR_ID attribute, then in Step f)
> >     the ORIGINATOR_ID SHOULD be treated as the BGP Identifier of
> >     the BGP speaker that has advertised the route.
> >
>
> This requirement probably should be a MUST.  Route selection for IBGP 
> paths
> must be consistent to avoid forwarding loops.  Thus, routers within an 
> AS must
> have a consistent view with respect to the BGP Identifier of the 
> router that
> sources the route in the AS. (BGP Identifier impacts route selection.)
>
> Forwarding loop can occur if RR is used in a network and some routers 
> do not
> follow this rule.
>
agreed. A sentence explaining what can or cannot happen if you have routers
that do not understand ORIGINATOR_ID and therefore don't follow this rule
would improve the spec IMHO.

>
>
> >
> >     In addition, the following rule SHOULD be inserted between Steps
> >     f) and g): a BGP Speaker SHOULD prefer a route with the shorter
> >     CLUSTER_LIST length. The CLUSTER_LIST length is zero if a route
> >     does not carry the CLUSTER_LIST attribute.
>
> When the redundent RRs within a cluster are not configured with the 
> same cluster-id,
> a RR may receive a route from its client directly, and from the other 
> RR. With the
> right combinations of peering addresses, without this rule a RR may 
> select the one
> from the other RR as the best path (and then withdraw its own 
> advertisement), and
> routing may not converge. The rule is necessary to deal with this 
> corner case.
>
> As long as routing converges, forwarding loops wouldn't form even if some
> routers do not follow this rule. (The routes being compared are of the 
> same
> BGP Identifier, and thus the same next-hop anyway.)
>
yes, agreed of course.

>
>
> >
> > Now, the question comes up what to do with ECMP (which in many 
> implementations
> > slightly deviates from 'official' spec last I checked) especially 
> with connection
> > to the 'SHOULD'
>
> I am not aware of the existence of the "offical" spec for IBGP ECMP. 
> (Well I
> hacked up the limited support for IBGP ECMP several years ago, and 
> that seemed
> to have propagated ... :-(
>
> The first rule is important regardless of IBGP ECMP. The 2nd rule does 
> not seem
> to have any bearing on IBGP ECMP.
>

>
>
> >
> > Many implementations ignore the router_id for ECMP purposes & 
> load-balance
> > that way and it is interesting now to think whether we can still do 
> that when
> >
> > a) one route has an ORIGINATOR_ID and the other none
> > b) one route has an ORIGINATOR_ID_1 != ROUTER_ID_1 and 
> ORIGINATOR_ID_1 != ORIGINATOR_ID_2
> >     BUT ROUTER_ID_1 == ORIGINATOR_ID_2 [I admit, pathological but 
> possible]
> >
> > and so on.
> >
> >
> > Are we sure a mix of implementations old-style (ignoring the SHOULD) 
> and implementations
> > of new-style (take ORIGINATOR_ID always [or only sometimes] as 
> ROUTER_ID) will not form
> > loops with ECMP implementations ?
> >
> > The whole thing looks like another partial order in BGP route 
> ordering (the first infamous
> > one lead to quite a couple of med-this and med-other ... options in 
> many vendors) and I
> > wonder whether there is enough reason to do the same here.
> >
> > Same for CLUSTER_LIST length (albeit here I understand the scenario 
> that led to the
> > rule & it makes sense).
> >
>
ok, if the official stance is still 'there is no BGP ECMP spec' then 
we're in sync I guess
since my questoin implicitly cannot be asked ;-)

    thanks much, Enke

       -- tony


_______________________________________________
Idr mailing list
Idr@ietf.org
https://www1.ietf.org/mailman/listinfo/idr