Junos OS

Expand all | Collapse all

Route selection on route reflector client

Jump to Best Answer
  • 1.  Route selection on route reflector client

    Posted 07-15-2019 06:47

    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.  RE: Route selection on route reflector client
    Best Answer

     
    Posted 07-15-2019 07:13

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



  • 3.  RE: Route selection on route reflector client

     
    Posted 07-15-2019 07:50

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