BGP Diverse Path Route Reflector Explained - Shadow RR
Table of Contents
- What is BGP Diverse Path? ‹
- BGP Diverse-Path configuration ‹
- What happens if I use different Route Distinguishers on egress PE ‹
- Download section ‹
What is BGP Diverse Path?
The BGP Diverse-Path feature is configured on a Shadow Route Reflector to advertise a backup path. A Shadow RR is a secondary (backup) RR that only advertises an alternative path (a backup, diverse path) to its RR clients. In other words, the Shadow RR does not advertise its best path, but instead its RR clients only receive the alternative path to a particular destination prefix as shown in the following image.
The following example configuration makes RR2 advertise only a backup path to its RR Client PE1. The configuration needs to be applied on the RR only, there is no need for additional configuration on the PE router.
RR2#show run | sec ^router bgp router bgp 65001 bgp router-id 2.2.2.2 bgp log-neighbor-changes neighbor 1.1.1.1 remote-as 65001 neighbor 1.1.1.1 update-source Loopback10 ! address-family vpnv4 bgp additional-paths install neighbor 1.1.1.1 activate neighbor 1.1.1.1 send-community extended neighbor 1.1.1.1 route-reflector-client neighbor 1.1.1.1 advertise diverse-path backup exit-address-family
BGP Diverse-Path configuration
In the following example scenario Site 1 and Site 2 are connected over an MPLS L3VPN Service Provider network which as redundant Route Reflectors configured. The primary RR is R10 which advertises the best path to reach Site 2 is through PE R8 (based on IGP metric from R10).
The RR Client PE R2 receives this best path from the RR R10, and now there is suboptimal routing, since from PE R2 actually the best path would be through PE R5. In the meantime, the Shadow RR R11 advertises a backup path (diverse path) which is through PE R5. PE R2 receives this backup path from the Shadow RR, and PE R2 chooses this as the best path to reach Site 2 (based on IGP metric from PE R2 to PE R5).
Configuration:
R10 (RR)
R10#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to R7 ** ip address 10.0.6.2 255.255.255.248 ip router isis duplex auto speed auto media-type rj45 isis circuit-type level-2-only R10#show run int Lo10 | sec int interface Loopback10 ip address 10.10.10.10 255.255.255.255 R10#show run | sec ^router router isis net 49.0010.0000.0000.0010.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10 router bgp 65100 bgp router-id 10.10.10.10 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 65100 neighbor 2.2.2.2 update-source Loopback10 neighbor 5.5.5.5 remote-as 65100 neighbor 5.5.5.5 update-source Loopback10 neighbor 8.8.8.8 remote-as 65100 neighbor 8.8.8.8 update-source Loopback10 ! address-family vpnv4 neighbor 2.2.2.2 activate neighbor 2.2.2.2 send-community extended neighbor 2.2.2.2 route-reflector-client neighbor 5.5.5.5 activate neighbor 5.5.5.5 send-community extended neighbor 5.5.5.5 route-reflector-client neighbor 8.8.8.8 activate neighbor 8.8.8.8 send-community extended neighbor 8.8.8.8 route-reflector-client exit-address-family
R11 (Shadow RR)
R11#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to R7 ** ip address 10.0.6.3 255.255.255.248 ip router isis duplex auto speed auto media-type rj45 isis circuit-type level-2-only R11#show run int Lo10 | sec int interface Loopback10 ip address 10.11.11.11 255.255.255.255 R11#show run | sec ^router router isis net 49.0010.0000.0000.0011.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10 router bgp 65100 bgp router-id 10.11.11.11 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 65100 neighbor 2.2.2.2 update-source Loopback10 neighbor 5.5.5.5 remote-as 65100 neighbor 5.5.5.5 update-source Loopback10 neighbor 8.8.8.8 remote-as 65100 neighbor 8.8.8.8 update-source Loopback10 ! address-family vpnv4 bgp additional-paths install neighbor 2.2.2.2 activate neighbor 2.2.2.2 send-community extended neighbor 2.2.2.2 route-reflector-client neighbor 2.2.2.2 advertise diverse-path backup neighbor 5.5.5.5 activate neighbor 5.5.5.5 send-community extended neighbor 5.5.5.5 route-reflector-client neighbor 8.8.8.8 activate neighbor 8.8.8.8 send-community extended neighbor 8.8.8.8 route-reflector-client exit-address-family
R2 (PE)
R2#show run int Lo10 | sec int interface Loopback10 ip address 2.2.2.2 255.255.255.255 R2#show run all | sec ^mpls ip$ mpls ip R2#show run | sec ^mpls mpls label range 200 299 mpls ldp router-id Loopback10 force R2#show run | sec ^vrf vrf definition Green rd 65100:1 ! address-family ipv4 route-target export 65100:1 route-target import 65100:2 exit-address-family R2#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to CE R1 ** no ip address duplex auto speed auto media-type rj45 R2#show run int Gi0/0.10 | sec int interface GigabitEthernet0/0.10 description ** to CE R1 in VRF Green ** encapsulation dot1Q 10 vrf forwarding Green ip address 10.1.0.1 255.255.255.252 R2#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to R3 ** ip address 10.0.1.1 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R2#show run | sec ^router router isis net 49.0010.0000.0000.0002.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10 router bgp 65100 bgp router-id 2.2.2.2 bgp log-neighbor-changes neighbor 10.1.0.2 remote-as 65001 neighbor 10.10.10.10 remote-as 65100 neighbor 10.10.10.10 update-source Loopback10 neighbor 10.11.11.11 remote-as 65100 neighbor 10.11.11.11 update-source Loopback10 ! address-family ipv4 neighbor 10.10.10.10 activate neighbor 10.11.11.11 activate exit-address-family ! address-family vpnv4 neighbor 10.10.10.10 activate neighbor 10.10.10.10 send-community extended neighbor 10.11.11.11 activate neighbor 10.11.11.11 send-community extended exit-address-family ! address-family ipv4 vrf Green network 10.1.0.0 mask 255.255.255.252 neighbor 10.1.0.2 remote-as 65001 neighbor 10.1.0.2 activate exit-address-family
R5 (PE)
R5#show run int Lo10 | sec int interface Loopback10 ip address 5.5.5.5 255.255.255.255 R5#show run all | sec ^mpls ip$ mpls ip R5#show run | sec ^mpls mpls label range 500 599 mpls ldp router-id Loopback10 force R5#show run | sec ^vrf vrf definition Green rd 65100:2 ! address-family ipv4 route-target export 65100:2 route-target import 65100:1 exit-address-family R5#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to CE R6 ** no ip address duplex auto speed auto media-type rj45 R5#show run int Gi0/0.10 | sec int interface GigabitEthernet0/0.10 description ** to CE R6 in VRF Green ** encapsulation dot1Q 10 vrf forwarding Green ip address 10.2.0.1 255.255.255.252 R5#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to R4 ** ip address 10.0.3.1 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R5#show run | sec ^router router isis net 49.0010.0000.0000.0005.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10 router bgp 65100 bgp router-id 5.5.5.5 bgp log-neighbor-changes neighbor 10.10.10.10 remote-as 65100 neighbor 10.10.10.10 update-source Loopback10 neighbor 10.11.11.11 remote-as 65100 neighbor 10.11.11.11 update-source Loopback10 ! address-family ipv4 neighbor 10.10.10.10 activate neighbor 10.11.11.11 activate exit-address-family ! address-family vpnv4 neighbor 10.10.10.10 activate neighbor 10.10.10.10 send-community extended neighbor 10.11.11.11 activate neighbor 10.11.11.11 send-community extended exit-address-family ! address-family ipv4 vrf Green network 10.2.0.0 mask 255.255.255.252 neighbor 10.2.0.2 remote-as 65002 neighbor 10.2.0.2 activate exit-address-family
R8 (PE)
R8#show run int Lo10 | sec int interface Loopback10 ip address 8.8.8.8 255.255.255.255 R8#show run all | sec ^mpls ip$ mpls ip R8#show run | sec ^mpls mpls label range 800 899 mpls ldp router-id Loopback10 force R8#show run | sec ^vrf vrf definition Green rd 65100:2 ! address-family ipv4 route-target export 65100:2 route-target import 65100:1 exit-address-family R8#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to CE R9 ** no ip address duplex auto speed auto media-type rj45 R8#show run int Gi0/0.10 | sec int interface GigabitEthernet0/0.10 description ** to CE R9 in VRF Green ** encapsulation dot1Q 10 vrf forwarding Green ip address 10.3.0.1 255.255.255.252 R8#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to R7 ** ip address 10.0.5.1 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R8#show run | sec ^router router isis net 49.0010.0000.0000.0008.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10 router bgp 65100 bgp router-id 8.8.8.8 bgp log-neighbor-changes neighbor 10.10.10.10 remote-as 65100 neighbor 10.10.10.10 update-source Loopback10 neighbor 10.11.11.11 remote-as 65100 neighbor 10.11.11.11 update-source Loopback10 ! address-family ipv4 neighbor 10.10.10.10 activate neighbor 10.11.11.11 activate exit-address-family ! address-family vpnv4 neighbor 10.10.10.10 activate neighbor 10.10.10.10 send-community extended neighbor 10.11.11.11 activate neighbor 10.11.11.11 send-community extended exit-address-family ! address-family ipv4 vrf Green network 10.3.0.0 mask 255.255.255.252 neighbor 10.3.0.2 remote-as 65002 neighbor 10.3.0.2 activate exit-address-family
R1 (CE)
R1#show run | sec ^vrf vrf definition Green rd 1:1 ! address-family ipv4 exit-address-family R1#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to Host1 ** no ip address duplex auto speed auto media-type rj45 R1#show run int Gi0/0.1 | sec int interface GigabitEthernet0/0.1 description ** to Host1 in VRF Green ** encapsulation dot1Q 1 native vrf forwarding Green ip address 192.168.1.2 255.255.255.0 R1#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to PE R2 ** no ip address duplex auto speed auto media-type rj45 R1#show run int Gi0/1.10 | sec int interface GigabitEthernet0/1.10 description ** to PE R2 VRF Green ** encapsulation dot1Q 10 vrf forwarding Green ip address 10.1.0.2 255.255.255.252 R1#show run | sec ^router router bgp 65001 bgp router-id 1.1.1.1 bgp log-neighbor-changes ! address-family ipv4 vrf Green network 192.168.1.0 neighbor 10.1.0.1 remote-as 65100 neighbor 10.1.0.1 activate exit-address-family
R3
R3#show run int Lo10 | sec int interface Loopback10 ip address 3.3.3.3 255.255.255.255 R3#show run all | sec ^mpls ip$ mpls ip R3#show run | sec ^mpls mpls label range 300 399 mpls ldp router-id Loopback10 force R3#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to PE R2 ** ip address 10.0.1.2 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R3#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to R4 ** ip address 10.0.2.1 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R3#show run | sec ^router router isis net 49.0010.0000.0000.0003.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10
R7
R7#show run int Lo10 | sec int interface Loopback10 ip address 7.7.7.7 255.255.255.255 R7#show run all | sec ^mpls ip$ mpls ip R7#show run | sec ^mpls mpls label range 700 799 mpls ldp router-id Loopback10 force R7#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to PE R8 ** ip address 10.0.5.2 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R7#show run int Gi0/1 | sec int interface GigabitEthernet0/1 description ** to Route Reflectors ** ip address 10.0.6.1 255.255.255.248 ip router isis duplex auto speed auto media-type rj45 isis circuit-type level-2-only R7#show run int Gi0/2 | sec int interface GigabitEthernet0/2 description ** to R4 ** ip address 10.0.4.2 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip isis circuit-type level-2-only isis network point-to-point R7#show run | sec ^router router isis net 49.0010.0000.0000.0007.00 is-type level-2-only advertise passive-only metric-style wide log-adjacency-changes passive-interface Loopback10
Host1
Host1#show run int Gi0/0 | sec int interface GigabitEthernet0/0 description ** to CE R1 ** ip address 192.168.1.1 255.255.255.0 duplex auto speed auto media-type rj45 Host1#show run | sec ^ip route ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/0 192.168.1.2
R11#show ip bgp vpnv4 all 192.168.2.0 BGP routing table entry for 65100:2:192.168.2.0/24, version 7 Paths: (2 available, best #1, no table) Additional-path-install Flag: 0x100 Advertised to update-groups: 1 2 Refresh Epoch 1 65002, (Received from a RR-client) 8.8.8.8 (metric 20) (via default) from 8.8.8.8 (8.8.8.8) Origin IGP, metric 0, localpref 100, valid, internal, best « Shadow RR R11 chooses best path through PE R8 Extended Community: RT:65100:2 , recursive-via-host mpls labels in/out nolabel/801 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 2 65002, (Received from a RR-client) 5.5.5.5 (metric 30) (via default) from 5.5.5.5 (5.5.5.5) Origin IGP, metric 0, localpref 100, valid, internal, backup/repair « Path through PE R5 is backup/repair path Extended Community: RT:65100:2 , recursive-via-host mpls labels in/out nolabel/501 rx pathid: 0, tx pathid: 0 R11#show ip bgp vpnv4 all neighbors 2.2.2.2 advertised-routes BGP table version is 7, local router ID is 10.11.11.11 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65100:2 *>i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 10.3.0.0/30 8.8.8.8 0 100 0 i *bia 192.168.2.0 5.5.5.5 0 100 0 65002 i « Shadow RR R11 advertises backup path to PE R2 Total number of prefixes 3 R2#show ip bgp vpnv4 all | beg Ne Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65100:1 (default for vrf Green) *> 10.1.0.0/30 0.0.0.0 0 32768 i *>i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 10.3.0.0/30 8.8.8.8 0 100 0 i *> 192.168.1.0 10.1.0.2 0 0 65001 i *>i 192.168.2.0 5.5.5.5 0 100 0 65002 i Route Distinguisher: 65100:2 * i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 5.5.5.5 0 100 0 i *>i 10.3.0.0/30 8.8.8.8 0 100 0 i * i 8.8.8.8 0 100 0 i *>i 192.168.2.0 5.5.5.5 0 100 0 65002 i « PE R2 receives backup path from Shadow RR * i 8.8.8.8 0 100 0 65002 i R2#show ip bgp vpnv4 rd 65100:2 192.168.2.0 BGP routing table entry for 65100:2:192.168.2.0/24, version 19 Paths: (2 available, best #1, no table) Not advertised to any peer Refresh Epoch 1 65002 5.5.5.5 (metric 30) (via default) from 10.11.11.11 (10.11.11.11) Origin IGP, metric 0, localpref 100, valid, internal, best « PE R2 chooses path received from Shadow RR as the best path Extended Community: RT:65100:2 Originator: 5.5.5.5, Cluster list: 10.11.11.11 mpls labels in/out nolabel/501 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 65002 8.8.8.8 (metric 40) (via default) from 10.10.10.10 (10.10.10.10) Origin IGP, metric 0, localpref 100, valid, internal Extended Community: RT:65100:2 Originator: 8.8.8.8, Cluster list: 10.10.10.10 mpls labels in/out nolabel/801 rx pathid: 0, tx pathid: 0 R2#show ip bgp vpnv4 vrf Green 192.168.2.0 BGP routing table entry for 65100:1:192.168.2.0/24, version 21 Paths: (1 available, best #1, table Green) Advertised to update-groups: 1 Refresh Epoch 1 65002, imported path from 65100:2:192.168.2.0/24 (global) 5.5.5.5 (metric 30) (via default) from 10.11.11.11 (10.11.11.11) « PE R2 installs path through PE R5 in BGP table for VRF Green Origin IGP, metric 0, localpref 100, valid, internal, best Extended Community: RT:65100:2 Originator: 5.5.5.5, Cluster list: 10.11.11.11 « The Route Reflector adds these attributes (Originator, Cluster list) mpls labels in/out nolabel/501 rx pathid: 0, tx pathid: 0x0 R2#show ip route vrf Green 192.168.2.0 Routing Table: Green Routing entry for 192.168.2.0/24 Known via "bgp 65100", distance 200, metric 0 Tag 65002, type internal Last update from 5.5.5.5 02:15:24 ago Routing Descriptor Blocks: * 5.5.5.5 (default), from 10.11.11.11, 02:15:24 ago « Path through PE R5 installed in IPv4 VRF routing table, MPLS switching is required Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65002 MPLS label: 501 MPLS Flags: MPLS Required Host1#trace 192.168.2.1 pr 1 Type escape sequence to abort. Tracing the route to 192.168.2.1 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.1.2 1 msec 2 10.1.0.1 2 msec 3 10.0.1.2 [MPLS: Labels 302/501 Exp 0] 6 msec 4 10.0.2.2 [MPLS: Labels 402/501 Exp 0] 7 msec 5 10.2.0.1 [MPLS: Label 501 Exp 0] 6 msec « VPN Service Label assigned by PE R5 6 10.2.0.2 6 msec 7 192.168.2.1 7 msec
What happens if I use different Route Distinguishers
If the PE routers R5 and R8 advertise the Site 2 prefix 192.168.2.0/24 with different Route Distinguisher (RD) value, then there is no need for a backup path. In the following example, PE R5 attaches RD 65100:2, and PE R8 attaches RD 65100:3 to the VPNv4 prefix 192.168.2.0/24. As a result, two unique VPNv4 routes are created as shown below.
Each unique route is independently received on PE R2, which can run the best path algorithm. In other words, since PE R2 receives both routes to Site 2 by default (due to different RD), it can choose the shortest path through PE R5. There is no need for BGP Diverse-Path configuration.
R10#show ip bgp vpnv4 all | beg Ne Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65100:1 *>i 10.1.0.0/30 2.2.2.2 0 100 0 i *>i 192.168.1.0 2.2.2.2 0 100 0 65001 i Route Distinguisher: 65100:2 « Route Reflector receives Site 2 route with RD 65100:2 *>i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 192.168.2.0 5.5.5.5 0 100 0 65002 i Route Distinguisher: 65100:3 « Route Reflector receives Site 2 route with RD 65100:3 *>i 10.3.0.0/30 8.8.8.8 0 100 0 i *>i 192.168.2.0 8.8.8.8 0 100 0 65002 i R10#show ip bgp vpnv4 rd 65100:2 192.168.2.0 BGP routing table entry for 65100:2:192.168.2.0/24, version 19 « Unique VPNv4 route for Site 2 (through PE R5) Paths: (1 available, best #1, no table) Advertised to update-groups: 2 Refresh Epoch 1 65002, (Received from a RR-client) 5.5.5.5 (metric 30) (via default) from 5.5.5.5 (5.5.5.5) Origin IGP, metric 0, localpref 100, valid, internal, best Extended Community: RT:65100:200 mpls labels in/out nolabel/501 rx pathid: 0, tx pathid: 0x0 R10#show ip bgp vpnv4 rd 65100:3 192.168.2.0 BGP routing table entry for 65100:3:192.168.2.0/24, version 22 « Unique VPNv4 route for Site 2 (through PE R8), there is no path hiding Paths: (1 available, best #1, no table) Flag: 0x100 Advertised to update-groups: 2 Refresh Epoch 1 65002, (Received from a RR-client) 8.8.8.8 (metric 20) (via default) from 8.8.8.8 (8.8.8.8) Origin IGP, metric 0, localpref 100, valid, internal, best Extended Community: RT:65100:200 mpls labels in/out nolabel/810 rx pathid: 0, tx pathid: 0x0 R2#show ip bgp vpnv4 all | beg Ne Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 65100:1 (default for vrf Green) *> 10.1.0.0/30 0.0.0.0 0 32768 i *>i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 10.3.0.0/30 8.8.8.8 0 100 0 i *> 192.168.1.0 10.1.0.2 0 0 65001 i * i 192.168.2.0 8.8.8.8 0 100 0 65002 i *>i 5.5.5.5 0 100 0 65002 i Route Distinguisher: 65100:2 « Both unique VPNv4 Site 2 routes also received on PE R2 * i 10.2.0.0/30 5.5.5.5 0 100 0 i *>i 5.5.5.5 0 100 0 i * i 192.168.2.0 5.5.5.5 0 100 0 65002 i *>i 5.5.5.5 0 100 0 65002 i Route Distinguisher: 65100:3 * i 10.3.0.0/30 8.8.8.8 0 100 0 i *>i 8.8.8.8 0 100 0 i * i 192.168.2.0 8.8.8.8 0 100 0 65002 i *>i 8.8.8.8 0 100 0 65002 i R2#show ip bgp vpnv4 vrf Green 192.168.2.0 BGP routing table entry for 65100:1:192.168.2.0/24, version 38 Paths: (2 available, best #2, table Green) Advertised to update-groups: 1 Refresh Epoch 4 65002, imported path from 65100:3:192.168.2.0/24 (global) 8.8.8.8 (metric 40) (via default) from 10.10.10.10 (10.10.10.10) Origin IGP, metric 0, localpref 100, valid, internal Extended Community: RT:65100:200 Originator: 8.8.8.8, Cluster list: 10.10.10.10 mpls labels in/out nolabel/810 rx pathid: 0, tx pathid: 0 Refresh Epoch 3 65002, imported path from 65100:2:192.168.2.0/24 (global) 5.5.5.5 (metric 30) (via default) from 10.10.10.10 (10.10.10.10) Origin IGP, metric 0, localpref 100, valid, internal, best Extended Community: RT:65100:200 Originator: 5.5.5.5, Cluster list: 10.10.10.10 mpls labels in/out nolabel/501 rx pathid: 0, tx pathid: 0x0 R2#show ip route vrf Green 192.168.2.0 Routing Table: Green Routing entry for 192.168.2.0/24 Known via "bgp 65100", distance 200, metric 0 Tag 65002, type internal Last update from 5.5.5.5 00:16:32 ago Routing Descriptor Blocks: * 5.5.5.5 (default), from 10.10.10.10, 00:16:32 ago « PE R2 chooses route with shortest IGP metric to reach Site 2 (through PE R5) Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 65002 MPLS label: 501 MPLS Flags: MPLS Required
As visible in the following packet capture, two different BGP Update messages advertise the unique VPNv4 routes. The prefix 192.168.2.0 with RD 65100:3 has next-hop address 8.8.8.8 (PE R8). And the prefix 192.168.2.0 with RD 65100:2 has next-hop address 5.5.5.5 (PE R5) assigned.