[j-nsp] Juniper best path selection process

Joe Metzger metzger at es.net
Fri Apr 2 11:13:48 EDT 2010


Stacy,
I made a mistake yesterday when I said both black-hole BGP sessions were IBGP. I
didn't notice that the particular router I was looking at is using a private AS
for other reasons, so both black-hole BGP sessions are EBGP multi-hop, not iBGP.

BTW, the quote you provided is not on the page I referenced. Google found it at:
http://www.juniper.net/techpubs/software/junos/junos94/swconfig-routing/how-the-active-route-is-determined.html

I am not sure the rule your citing applies in this case. I interpreted "different"
to mean the 2 routes were learned from neighbors in different AS's, and not that the
AS of the local router differed from the AS of the external peer because that is always
true. In my case, both of the routes in question are from the same external AS.

But after poking around a bit more in the 9.4 route selection & configuration pages, 
I discovered the following sentence which does describe the behavior I am seeing: 
  "By default, router ID comparison is not performed if one of the external paths is active."

This sentence, plus the one you found seem to clearly indicate that current versions of
Junos take age into account by default in the selection process.


--Joe


Stacy W. Smith wrote:
> Joe,
> 
> This is actually documented at the link you quoted below:
>  
> "For EBGP only, prefer the current active route when a route is received from different neighboring ASs, by default. To disable this default behavior, specify the external-router-id option at the [edit protocols bgp path-selection] hierarchy level."
> 
> --Stacy
> 
> On Apr 1, 2010, at 4:53 PM, Joe Metzger wrote:
> 
>> Does anybody have a reference to the real best path
>> selection process actually used by an M7i running 9.3
>> that documents all of the tie-breaking criteria, and
>> when it might decide to just blow off recomputing a new
>> best route if the important attributes didn't change?
>>
>> I was poking around today on a router that is excepting
>> 2 identical iBGP feeds of routes to black hole. Approximately 70%
>> of the routes from 1 server were marked as best and 30%
>> from the other.
>>
>> The published selection algorithm docs only include deterministic
>> criteria, and so I would have expected deterministic results and
>> that the routes from the black-hole server with the lowest router
>> ID would be preferred 100% of the time.
>>
>> http://www.juniper.net/techpubs/en_US/junos/information-products/topic-collections/nog-baseline/topic-20357.html
>>
>> The underlying system feeding routes to the 2 black hole
>> servers guarantees that both servers are sending identical
>> lists of prefixes, with identical local-pref, as-path,
>> origin code, med value, source protocol, etc. The import
>> policy explicitly sets the next-hop to discard for all
>> routes from both servers so IGP distance shouldn't be a factor.
>>
>> The only differences between the routes announced from each
>> black hole server visible in show route extensive are router
>> ID, Task, and the time that the route was announced. It appears
>> that it is showing the oldest route as the 'best' one.
>>
>> This isn't causing me any trouble, but it looks wrong, and making
>> routing decisions based on age has bit me in the past. :-(
>>
>>
>>
>> Joe Metzger
>> metzger at es.net
>>
>>
>>
>> _______________________________________________
>> juniper-nsp mailing list juniper-nsp at puck.nether.net
>> https://puck.nether.net/mailman/listinfo/juniper-nsp
> 



More information about the juniper-nsp mailing list