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

"Enke Chen" <enke@bcn-inc.net> Fri, 22 October 2004 06:31 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 CAA03657; Fri, 22 Oct 2004 02:31:10 -0400 (EDT)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CKt9y-0007Bm-4M; Fri, 22 Oct 2004 02:44:22 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKsr5-0000vo-6r; Fri, 22 Oct 2004 02:24:51 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CKsnn-0007G7-Ca for idr@megatron.ietf.org; Fri, 22 Oct 2004 02:21:27 -0400
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 CAA02713 for <idr@ietf.org>; Fri, 22 Oct 2004 02:21:25 -0400 (EDT)
Received: from 67.111.75.190.ptr.us.xo.net ([67.111.75.190] helo=BCNW02.bcn-inc.net) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CKt0T-00072C-VL for idr@ietf.org; Fri, 22 Oct 2004 02:34:37 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
Content-class: urn:content-classes:message
Subject: Re: [Idr] draft-ietf-idr-rfc2796bis-01: what's the exact tie-breaking rules
MIME-Version: 1.0
Date: Thu, 21 Oct 2004 23:20:50 -0700
Message-ID: <FBC8FC22A32C4F4AA2FD4551C2E0074E0AC44C@BCNW02.bcn-inc.net>
Thread-Topic: [Idr] draft-ietf-idr-rfc2796bis-01: what's the exact tie-breaking rules
Thread-Index: AcS3/0aLSL5hTvqiTViwgBS/8Y5IGw==
From: Enke Chen <enke@bcn-inc.net>
To: idr@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: be922d419820e291bde1362184dc32fd
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>
Content-Type: multipart/mixed; boundary="===============0185476266=="
Sender: idr-bounces@ietf.org
Errors-To: idr-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 16a2b98d831858659c646b3dec9ed22b

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.

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.

> 
>     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.)

> 
> 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.

Regards,

-- Enke


> 
> 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).
> 
> Anyone cares to clarify and I hope I don't repeat some discussion that I missed on idr list ?
> 
> 	thanks
> 
> 
> 	-- tony
> 

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