Description

A Route Reflector configured with 3 BGP Peers:

 

set protocols bgp group iBGP-ORR type internal

set protocols bgp group iBGP-ORR multihop

set protocols bgp group iBGP-ORR local-address 10.157.228.212

set protocols bgp group iBGP-ORR hold-time 180

set protocols bgp group iBGP-ORR mtu-discovery

set protocols bgp group iBGP-ORR family inet unicast 

set protocols bgp group iBGP-ORR family evpn signaling

set protocols bgp group iBGP-ORR cluster 10.157.228.0

set protocols bgp group iBGP-ORR optimal-route-reflection igp-primary 10.157.228.252

set protocols bgp group iBGP-ORR neighbor 10.157.228.252

set protocols bgp group iBGP-ORR neighbor 10.157.228.253

set protocols bgp group iBGP-ORR neighbor 10.157.228.254

 

Running ISIS-SR as the IGP and with L-ISIS preferred over ISIS (17 vs 18):

 

set protocols isis interface et-0/0/0:0.0 level 2 metric 1000

set protocols isis interface et-0/0/0:0.0 point-to-point

set protocols isis interface et-0/0/0:1.0 level 2 metric 10

set protocols isis interface et-0/0/0:1.0 point-to-point

set protocols isis interface et-0/0/0:2.0 level 2 metric 10

set protocols isis interface et-0/0/0:2.0 point-to-point

set protocols isis interface lo0.0

set protocols isis source-packet-routing srgb start-label 400000

set protocols isis source-packet-routing srgb index-range 8000

set protocols isis source-packet-routing node-segment ipv4-index 212

set protocols isis source-packet-routing node-segment ipv6-index 1212

set protocols isis source-packet-routing traffic-statistics statistics-granularity per-interface

set protocols isis level 1 disable

set protocols isis level 2 labeled-preference 17

set protocols isis level 2 wide-metrics-only

set protocols isis backup-spf-options node-link-degradation

set protocols isis traffic-engineering l3-unicast-topology

 

Receives a BGP route with Next Hop Self from 2 peers, 2.21.100.0/24:

 

labroot@e05-45> show route 2.21.100.0/24 

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

2.21.100.0/24   *[BGP/170] 12:37:05, localpref 100

           AS path: 65251 I, validation-state: unverified

          > to 10.157.228.253 via et-0/0/0:1.0

          [BGP/170] 12:37:05, localpref 100

           AS path: 65251 I, validation-state: unverified

  

IGP Cost is better to 10.157.228.253 (10 vs 1000):

 

labroot@e05-45> show route 10.157.228.253 

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.253/32 *[IS-IS/18] 14:29:02, metric 10

          > to 10.157.228.253 via et-0/0/0:1.0

 

inet.3: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.253/32 *[L-ISIS/17] 12:41:12, metric 10

          > to 10.157.228.253 via et-0/0/0:1.0

 

labroot@e05-45> show route 10.157.228.252   

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.252/32 *[IS-IS/18] 14:29:35, metric 1000

          > to 10.157.228.252 via et-0/0/0:0.0

 

inet.3: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.252/32 *[L-ISIS/17] 12:41:19, metric 1000

          > to 10.157.228.252 via et-0/0/0:0.0

 

ORR is set to use 10.157.228.252:

 

set protocols bgp group iBGP-ORR optimal-route-reflection igp-primary 10.157.228.252

 

But, router advertises the route from 10.157.228.253:

 

labroot@e05-45> show route advertising-protocol bgp 10.157.228.254  

 

 

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

 Prefix         Nexthop       MED   Lclpref  AS path

* 2.21.100.0/24      10.157.228.253       100    65251 I

 

However, IF L-ISIS is set to a higher preference than ISIS:

 

labroot@e05-45> configure 

Entering configuration mode

 

[edit]

labroot@e05-45# set protocols isis level 2 labeled-preference 20 

 

[edit]

labroot@e05-45# commit and-quit 

commit complete

Exiting configuration mode

 

The configured ORR route is advertised:

 

labroot@e05-45> show route 10.157.228.253               

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.253/32 *[IS-IS/18] 14:29:51, metric 10

          > to 10.157.228.253 via et-0/0/0:1.0

 

inet.3: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.253/32 *[L-ISIS/20] 00:00:06, metric 10

          > to 10.157.228.253 via et-0/0/0:1.0

 

labroot@e05-45> show route 10.157.228.252               

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.252/32 *[IS-IS/18] 14:30:23, metric 1000

          > to 10.157.228.252 via et-0/0/0:0.0

 

inet.3: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

10.157.228.252/32 *[L-ISIS/20] 00:00:12, metric 1000

          > to 10.157.228.252 via et-0/0/0:0.0

 

labroot@e05-45> show route advertising-protocol bgp 10.157.228.254   

 

 

inet.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)

 Prefix         Nexthop       MED   Lclpref  AS path

 2.21.100.0/24      10.157.228.252       100    65251 I

 

labroot@e05-45> 

Solution

This is a limitation with respect to ORR.  It cannot/does not use L-ISIS.  This is loosely referenced here:

 

https://www.juniper.net/documentation/us/en/software/junos/bgp/topics/topic-map/bgp-rr.html#id-understanding-bgp-optimal-route-reflection

 

Or:

 

"Note: BGP-ORR only works when IGP is used for BGP route resolution. BGP-ORR does not work when MPLSLDP/RSVP is used for route resolution."

 

Specifically, ORR is only designed for resolution over IGP (directly or indirectly) and IGP metric is the tie breaker for path selection.  This is usually not an issue on a non-forwarding RR because there is no need to run MPLS on non-forwarding RRs, even if the PEs have LSPs as the transport.  

 

If you have VPN/BGP-LU routes which needs to be resolved over inet.3 or inet6.3 routes, the recommendation is to configure a rib-group to copy the IGP routes from inet.0/inet6.0 to inet.3 and inet6.3.  

 

The other alternative is to set resolution-rib to inet.0 only but that’s a slightly less efficient solution. For example:

 

set routing-options resolution rib inet.0 resolution-ribs inet.0
set routing-options resolution rib inet.0 import jtac-test
set policy-options policy-statement jtac-test term 1 from family inet
set policy-options policy-statement jtac-test term 1 from neighbor 10.157.228.252
set policy-options policy-statement jtac-test term 1 from neighbor 10.157.228.253
set policy-options policy-statement jtac-test term 1 from neighbor 10.157.228.254
set policy-options policy-statement jtac-test term 1 then accept
set routing-options resolution rib inet.0 import jtac-test

Modification History

2024-12-19 : Article Created