Junos
Junos

Route selection on route reflector client

‎07-15-2019 06:46 AM

Hello people

 

Need help understanding below scenario I have bumped into on BGP route selection

 

The setup is such that there are two route reflectors (P routers) each of the route reflectors has a direct connection to the PE1 which is an originator of a certain inet-vpn route for L3MPLS (default route). This PE1 is a route reflector client of both route reflectors. Another router PE2 is also a route reflector client of both route reflectors. The PE2 is also participating in the VRF PE1 is originating routes for. PE2 receives the default route from both route reflectors and it chooses the best route based on peer address  IP (update source). 

Question is why choose the route based on update source instead of router ID with reference to the best route selection process in JunOS since the routes have same local preference and all the other parameters match except for router-id and peer address.

 

The default route entries received from route reflectors on PE2

 

PE2> show route table bgp.l3vpn.0 rd-prefix 184:191:0/0 exact extensive | match "preference|state|reason|protocol next|source|origin" 
        *BGP    Preference: 170/-101
                Source: 10.172.192.29
                Protocol next hop: 10.172.192.31
                State: <Active Int Ext>
                AS path: 64512 I (Originator)
                Originator ID: 10.172.192.31
                Router ID: 10.172.192.29
                        Protocol next hop: 10.172.192.31 Metric: 1
                        10.172.192.31/32 Originating RIB: inet.3
         BGP    Preference: 170/-101
                Source: 10.172.192.35
                Protocol next hop: 10.172.192.31
                State: <NotBest Int Ext>
                Inactive reason: Not Best in its group - Update source
                AS path: 64512 I (Originator)
                Originator ID: 10.172.192.31
                Router ID: 10.172.192.35
                        Protocol next hop: 10.172.192.31 Metric: 1
                        10.172.192.31/32 Originating RIB: inet.3

 

PE2 prefers the route from P1 (10.172.192.29) for an active route while the route from P2(10.172.192.35) is inactive with Inactive reason: Not Best in its group - Update source

My expectation was P1 to be active and P2 to be inactive with Inactive reason: Not Best in its group - Router ID as the router Id is analysed first prior to peer address (update source) in the route selection process

 

PE2 to PE1

PE2> show route 10.172.192.31 exact | match "[0-9]"   

inet.0: 14977 destinations, 41513 routes (14975 active, 0 holddown, 3 hidden)
10.172.192.31/32   *[IS-IS/18] 1w0d 07:49:17, metric 210
                    > to 172.198.0.198 via xe-0/0/1.0

inet.3: 87 destinations, 87 routes (87 active, 0 holddown, 0 hidden)
10.172.192.31/32   *[LDP/20] 06:23:52, metric 1
                    > to 172.198.0.198 via xe-0/0/1.0, Push 538432

 

PE2 to P1

PE2> show route 10.172.192.29 exact | match "[0-9]"

inet.0: 14977 destinations, 41513 routes (14975 active, 0 holddown, 3 hidden)
10.172.192.29/32   *[IS-IS/18] 1w0d 07:49:11, metric 200
                    > to 172.198.0.198 via xe-0/0/1.0

inet.3: 87 destinations, 87 routes (87 active, 0 holddown, 0 hidden)
10.172.192.29/32   *[LDP/20] 06:23:46, metric 1
                    > to 172.198.0.198 via xe-0/0/1.0, Push 538416

PE2 to P2

PE2> show route 10.172.192.35 exact | match "[0-9]"   

inet.0: 14977 destinations, 41513 routes (14975 active, 0 holddown, 3 hidden)
10.172.192.35/32   *[IS-IS/18] 7w6d 21:57:48, metric 100
                    > to 172.198.1.57 via xe-0/0/0.0

inet.3: 87 destinations, 87 routes (87 active, 0 holddown, 0 hidden)
10.172.192.35/32   *[LDP/20] 06:23:57, metric 1
                    > to 172.198.1.57 via xe-0/0/0.0

Thanks

2 REPLIES 2
Junos
Solution
Accepted by topic author basondolepaul
‎07-15-2019 07:20 AM

Re: Route selection on route reflector client

[ Edited ]
‎07-15-2019 07:13 AM

If the paths that are being compared have originator ID attribute, Originator IDs are compared instead of Router IDs. Here originator IDs are same and hence the router considers next attribute for tie-breaking.

 

Refer Step#13 in the following link:

https://www.juniper.net/documentation/en_US/junos/topics/reference/general/routing-protocols-address...

Junos

Re: Route selection on route reflector client

‎07-15-2019 07:49 AM

Hi basondolepaul,

 

Any reflected routes will appear as coming from "Router-ID" i.e. the RR's router-id.  However to make the "lowest router-id" path selection step to work for a given specific route coming from multiple RR clients, originator-id must be compared instead.  That's the rule and we can see in your case, both routes have the same originator ID (RR client).  If we had a case of the same prefix advertised by multiple RR clients, we'd probably see the lowest RR ID as the preference.

 

Hope this helps.

 

Regards,
-r.

--------------------------------------------------

If this solves your problem, please mark this post as "Accepted Solution."
Kudos are always appreciated Smiley Happy.