The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the set path-selection statement in a route policy for Border Gateway Protocol (BGP) within the Cisco IOS®-XR.
Many designs aim to have BGP select and advertise multiple paths for one prefix.
By default, only one BGP path is selected as the best path, and only this best path is advertised. The BGP Best Path Selection Algorithm decides this:
BGP Best Path Selection Algorithm
Besides the best path, a second-best path can be chosen as a backup path. This backup path can be used in designs with BGP PIC (Prefix Independent Convergence).
BGP can install multiple paths to achieve load balancing. This can be Equal Cost Multipath (ECMP) load balancing or Unequal Cost Multipath (UCMP). These multipath are installed in the routing table (RIB) and the Data plane or FIB (Forwarding Instance Base) table in order to achieve load balancing. The FIB table is also known as the CEF (Cisco Express Forwarding) table.
This article focuses on two goals:
Another feature used by BGP is Additional Paths (ADD-Paths). This feature allows BGP to advertise more than one path over one BGP session.
The selection of multipath paths by BGP is done in order of receiving the paths. However, the show bgp commands show the BGP paths in lexicographical order.
A new command -introduced in Cisco IOS®-XR 7.3.1- can be used to see the BGP paths in the order they were received:
show bgp <afi> rd <rd> <path_details> <age-order>
This helps the verification and troubleshooting of multipath. It solves the main question of why a path is chosen as a multipath and not another one.
A multi-path-protect path is a backup path that is not a multipath path but protects all the other multipath paths.
Starting with Cisco IOS®-XR 7.3.1, there is this new keyword multipath-protect-advertise for the set path-selection statement. It can be used to advertise the multi-path-protect path alongside the backup path or alongside the multipath paths. The full commands to be used in the route-policy are:
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
set path-selection multipath advertise multipath-protect multipath-protect-advertise
This is an overview of the set path-selection command with all its keyword combinations A more detailed explanation and examples are found in the next section.
In all cases below, the best path is installed. If it is not, something is wrong (for example the next hop is invalid), but this is not related to the set path-selection command.
For the backup path to be selected, a feature must be enabled for BGP which allows the selection of a BGP backup path: for example BGP PIC.
Multipath paths are enabled in BGP by the address family command maximum-paths:
mamximum-paths {ebgp | eibgp | ibgp} <2-32> (unequal-cost)
By definition, the best path is a multipath path. The best path is the only path installed in the routing table if multipath for BGP is not enabled. You can control how many BGP paths are installed in the routing table with the command maximum-paths {ebgp | eibgp | ibgp} <2-32> (unequal-cost).
This table provides an overview of all the options with the set path-selection command. For more details and examples, refer to the next section for each case presented here.
Case | Command | Install | Advertise |
1 |
set path-selection backup 1 install |
1 backup path installed. |
Only the best path is advertised. |
2 | set path-selection backup 1 advertise |
The backup path is not installed. |
The backup path is advertised. |
3 | set path-selection backup 1 advertise install |
The backup path is installed. |
The backup path is advertised. |
4 | set path-selection all advertise |
The backup path is not installed. The multipath paths are installed. |
All paths are advertised (best path, backup path, multipath, non-multipath path). |
5 | set path-selection best-path |
The multipath paths are installed. |
Only the best path is advertised. |
6 | set path-selection multipath advertise |
The multipath paths are installed. |
The multipath paths are advertised. |
7 | set path-selection backup 1 install multipath-protect |
The multipath paths are installed. Another path is installed as a backup path (the 'backup(protect multipath)’ path if there are still paths beside the multipath paths. |
Only the best path is advertised. |
8 | set path-selection backup 1 install multipath-protect advertise |
The multipath paths are installed. Another path is installed as a backup path (the 'backup(protect multipath)’ path if there are still paths beside the multipath paths. |
The best path and the backup path are advertised. The backup(protect multipath) path is not advertised. |
9 | set path-selection group-best advertise |
Group-best selection is the best path per AS and also per next-hop. The multipath paths are installed. |
All group-best paths are advertised. |
10 | set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise |
The multipath paths are installed. Another path is installed as a backup path (the 'backup(protect multipath)’ path if there are still paths beside the multipath paths. |
The best path, the backup path, and the backup(protect multipath) path are advertised. |
11 | set path-selection multipath advertise multipath-protect |
The multipath paths are installed. |
The multipath paths are advertised. The backup(protect multipath) path is not advertised. |
12 | set path-selection multipath advertise multipath-protect multipath-protect-advertise |
The multipath paths are installed. Another path is installed as a backup path (the 'backup(protect multipath)’ path if there are still paths beside the multipath paths. |
The multipath paths are advertised. The backup(protect multipath) path is advertised. |
This is the topology used throughout this document.
In all cases, ADD-PATH is enabled between the RR (Route-Reflector) and PE6.
PE1, PE2, PE3, PE4, PE5, and PE6 all advertise the same prefix as vpnv4 unicast route towards the RR.
PE6 is the ingress PE, which receives this prefix from the RR.
Unless otherwise mentioned, ADD-PATH is enabled on every BGP session and maximum-paths ibgp 3 is configured on the RR for address-family vpnv4 unicast.
Note: There is a maximum of one backup path installed in the RIB and CEF tables. More than one is not possible/supported. The path is marked as a backup in the BGP table, the RIB table, and the CEF table.
The backup route is always chosen by BGP in this article. A backup route could be chosen by another feature, but here it is always BGP.
If multipath is configured for BGP, there can be multipath (ECMP or UCMP) paths installed in the BGP table. They are marked with multipath. The backup path is the second-best path, so it should be one of the multipath paths if there are any. This means that there can be a backup(protect multipath) chosen by BGP if this feature is configured (the multipath-protect keyword in the set path-selection route-policy statement). If this is the case, then this backup(protect multipath) path is the backup path in the RIB and CEF table. The backup path chosen by BGP and marked as such by BGP is then not a backup path, but merely a multipath path.
A backup route on an RR does not make much sense if that RR only has the role of an RR.
In this article, it is assumed that the RR is also a PE router. In that case, select and install a backup route does make sense. The backup route could be used for BGP PIC.
A backup route is marked with backup in the RIB when specifying the specific prefix or with "!" if not specifying the prefix.
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 13:25:25.064 for 00:03:27
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show route vrf one
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP
A - access/subscriber, a - Application route
M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path
Gateway of last resort is not set
B 10.1.1.1/32 [200/0] via 10.0.0.1 (nexthop in vrf default), 00:02:16
[200/0] via 10.0.0.2 (nexthop in vrf default), 00:02:16 (!)
[200/0] via 10.0.0.3 (nexthop in vrf default), 00:02:16
[200/0] via 10.0.0.4 (nexthop in vrf default), 00:02:16
This section covers all the set path-selection statements used in the route-policy for the specific address family under router BGP.
This is irrespective of the Cisco IOS®-XR version is pre-or post-Cisco IOS®-XR 7.3.1.
Configuration:
router bgp 65000
address-family ipv4 unicast
!
address-family vpnv4 unicast
additional-paths receive
additional-paths send
additional-paths selection route-policy BGP-Path-Selection
!
neighbor 10.0.0.1
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.2
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.3
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.4
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.5
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
neighbor 10.0.0.6
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
vrf one
rd 1:1
address-family ipv4 unicast
maximum-paths ibgp 3
additional-paths selection route-policy BGP-Path-Selection
redistribute connected
!
!
!
The route-policy with the set path-selection statements is applied under the address-family vpnv4 unicast.
The route-policy with the set path-selection statements is also applied to the VRF. This is needed if a backup route needs to be installed in the VRF RIB/CEF table (or advertised over the BGP session over the PE-CE link).
Here, both route policies are the same, but different ones can be applied under the address family versus under the VRF.
Maximum-path ibgp 3 is used under VRF one, specifying that there can be up to three ECMP paths in the RIB/CEF table.
These cases show all the possibilities for the route-policy with set path-selection.
route-policy BGP-Path-Selection
set path-selection backup 1 install
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 13:14:35.907 for 00:04:41
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 13:25:25.064 for 00:03:27
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 119, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e10a8)
Updated Sep 17 13:25:25.068
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2730
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2060 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2c98 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 87 87
Last Modified: Sep 17 13:50:32.649 for 00:00:42
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 87
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: There is 1 backup path installed on the RR in the VRF. Only the best path is advertised.
route-policy BGP-Path-Selection
set path-selection backup 1 advertise
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 13:38:03.907 for 00:02:04
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Sep 17 13:38:04.233 for 00:04:26
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 135, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf696158)
Updated Sep 17 13:38:04.236
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2c98 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 73 73
Last Modified: Sep 17 13:38:05.649 for 00:02:47
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 73
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: The backup route is not installed. The backup path is advertised.
route-policy BGP-Path-Selection
set path-selection backup 1 advertise install
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 14:20:36.907 for 00:01:55
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 14:23:42.997 for 00:00:59
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.5, from 10.0.0.5, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 185, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e10a8)
Updated Sep 17 14:23:42.999
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2730
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2060 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.5/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2368 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.5/32 via 24005/0/21
next hop 10.5.101.5/32 Gi0/0/0/1 labels imposed {ImplNull 24014}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 105 105
Last Modified: Sep 17 14:23:43.649 for 00:02:16
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 105
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: The backup route is installed. The backup path is advertised. So this is 1. and 2.
route-policy BGP-Path-Selection
set path-selection all advertise
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 14:28:58.907 for 00:04:04
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 1, Local Path ID 5, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Sep 17 14:28:59.169 for 00:04:52
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.5, from 10.0.0.5, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 201, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf696158)
Updated Sep 17 14:28:59.175
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.5/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2368 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.5/32 via 24005/0/21
next hop 10.5.101.5/32 Gi0/0/0/1 labels imposed {ImplNull 24014}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 125 125
Last Modified: Sep 17 14:29:00.649 for 00:02:21
Paths: (5 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 125
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.3 (metric 3) from 10.0.0.101 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.3, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 4, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local
10.0.0.5 (metric 3) from 10.0.0.101 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 5, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.5, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: The backup route is not installed. All (5) paths are advertised.
route-policy BGP-Path-Selection
set path-selection best-path
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions: Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 15:34:15.907 for 00:00:09
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Sep 17 15:34:16.311 for 00:00:28
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 215, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf696100)
Updated Sep 17 15:34:16.313
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2060 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
Conclusion: Only the best path and the multipath paths are installed. Only the best path is advertised. There is no backup path selected, installed, or advertised.
Advertise is a required keyword.
route-policy BGP-Path-Selection
set path-selection multipath advertise
end-policy
For this to work, there must be multipath enabled for BGP for the specific address-family.
Here, the multipath for ipv4 unicast in VRF one is enabled.
router bgp 65000
vrf one
rd 1:1
address-family ipv4 unicast
maximum-paths ibgp 3
additional-paths selection route-policy BGP-Path-Selection
redistribute connected
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 15:40:15.907 for 00:00:28
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Sep 17 15:40:16.152 for 00:01:11
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 229, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf6961b0)
Updated Sep 17 15:40:16.156
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2c98 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 153 153
Last Modified: Sep 17 15:40:17.649 for 00:02:08
Paths: (3 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 153
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: Multipath paths are installed in the RIB and advertised. There is no backup selected, installed, or advertised.
route-policy BGP-Path-Selection
set path-selection backup 1 install multipath-protect
end-policy
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 15:46:17.907 for 00:04:59
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 15:46:17.904 for 00:05:14
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 249, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e10a8)
Updated Sep 17 15:46:17.907
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 2 NHID 0x0 [0xdab2060 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2c98 0x0], Internal 0xd6a2730
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 163 163
Last Modified: Sep 17 15:46:18.649 for 00:07:36
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 163
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
There might not be a backup(protect multipath) path. For example, if there are BGP maximum paths 2 configured and only 2 paths are received, then two paths are multipath and there is no backup(protect multipath) path.
Conclusion: All multipath paths are installed in the RIB. Another path is installed as a backup path (the backup(protect multipath) path). Only the best path is advertised.
route-policy BGP-Path-Selection
set path-selection backup 1 install multipath-protect advertise
end-policy
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 16:03:00.907 for 00:01:19
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 16:03:01.199 for 00:05:13
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 281, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e1108)
Updated Sep 17 16:03:01.206
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2060 0x0], Internal 0xd6a2910
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 3 NHID 0x0 [0xdab2c98 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 181 181
Last Modified: Sep 17 16:03:02.649 for 00:07:39
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 181
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
There might not be a backup(protect multipath) path. For example, if there are BGP maximum paths 2 configured and only 2 paths are received, then two paths are multipath and there is no backup(protect multipath) path.
This advertised backup path is one of the multipath paths (marked backup in the BGP table).
This is with maximum-paths ibgp 1:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 16:15:48.907 for 00:00:44
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 16:15:48.900 for 00:01:28
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 297, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf6960a8)
Updated Sep 17 16:15:48.903
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive [flags 0x6000]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 189 189
Last Modified: Sep 17 16:15:50.649 for 00:02:10
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 189
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: All multipath paths are installed in the RIB. Another path is installed as a backup path. The best path and the backup path are advertised.
A different topology is used for this case. Routers are same as in image 1, but PE4 is now in AS 65004 and PE5 is in AS 65005. All other routers are still in AS 65000.
Image 2
This means that there is now an eBGP session between the RR and PE4 and between the RR and PE5.
route-policy BGP-Path-Selection
set path-selection group-best advertise
end-policy
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Local Label: 24010
Last Modified: Sep 21 06:06:29.117 for 00:02:18
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.3 0.4
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3 0.4
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.4
65004
10.4.101.4 from 10.4.101.4 (10.0.0.4)
Received Label 24015
Origin incomplete, metric 0, localpref 100, valid, external, group-best, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.4
65005
10.5.101.5 from 10.5.101.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, external, group-best, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0, type internal
Installed Sep 20 19:59:07.762 for 10:00:40
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 114, internal 0x1000001 0x30 (ptr 0xd96a338) [1], 0x0 (0xe366530), 0xa08 (0xf69e0a8)
Updated Sep 20 19:59:07.765
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab1b98 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24008/0/21
local label 24010
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24014}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab30d0 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24000/0/21
local label 24010
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24014}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2918 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24002/0/21
local label 24010
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24014}
The RR still has three ECMP paths installed in the RIB and CEF table.
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 47 47
Last Modified: Sep 20 19:59:07.588 for 09:59:44
Paths: (3 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.3 (metric 5) from 10.0.0.101 (10.0.0.3)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 47
Extended community: RT:65000:1
Originator: 10.0.0.3, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
65004
10.4.101.4 (metric 3) from 10.0.0.101 (10.0.0.101)
Received Label 24010
Origin incomplete, metric 0, localpref 100, valid, internal, group-best, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
65005
10.5.101.5 (metric 2) from 10.0.0.101 (10.0.0.101)
Received Label 24010
Origin incomplete, metric 0, localpref 100, valid, internal, group-best, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RR advertises the group-best path from the three paths received from AS 65000. Besides this path, the RR also advertises the group-best path received from AS 65004 and the one from AS 65005.
There are three group-best paths because the three paths have a different neighbor AS. All these paths are advertised. The multipath paths are not advertised.
Conclusion: All group-best paths are advertised.
This option is only available starting with Cisco IOS®-XR 7.3.1.
To start with Cisco IOS®-XR 7.3.1, there is a new keyword multipath-protect-advertise.
This allows for the multi-path-protect path to be advertised alongside the backup path. Before Cisco IOS®-XR 7.3.1, the multi-path-protect path was installed but not advertised. (See case 8.)
route-policy BGP-Path-Selection
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 17 16:43:05.907 for 00:01:14
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 17 16:43:05.562 for 00:01:45
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1
10.1.1.1/32, version 323, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e1168)
Updated Sep 17 16:43:05.567
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0], Internal 0xd6a2730
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2060 0x0], Internal 0xd6a2910
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 3 NHID 0x0 [0xdab2c98 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 207 207
Last Modified: Sep 17 16:43:06.649 for 00:02:31
Paths: (3 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 207
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion: All multipath paths are installed in the RIB. Another path -backup(protect multipath) path- is installed as a backup path. The best path, the backup path, and the backup(protect multipath) path are advertised.
This option is only available starting with Cisco IOS®-XR 7.3.1.
route-policy BGP-Path-Selection
set path-selection multipath advertise multipath-protect
end-policy
!
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 18 06:12:25.907 for 00:00:12
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 18 06:12:26.137 for 00:05:23
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 345, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e1108)
Updated Sep 18 06:12:26.140
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0], Internal 0xd6a2730
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 2 NHID 0x0 [0xdab2060 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2c98 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 221 221
Last Modified: Sep 18 06:12:27.649 for 00:01:38
Paths: (3 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 221
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
This allows for the multi-path-protect path to be installed and advertised alongside the multipath paths.
route-policy BGP-Path-Selection
set path-selection multipath advertise multipath-protect multipath-protect-advertise
end-policy
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 18 06:22:22.907 for 00:03:12
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 1, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 18 06:22:23.059 for 00:03:34
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.5, from 10.0.0.5, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 367, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e11c8)
Updated Sep 18 06:22:23.062
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 1 NHID 0x0 [0xdab2e48 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 2 NHID 0x0 [0xdab2c98 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
via 10.0.0.5/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2368 0x0], Internal 0xd6a2910
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.5/32 via 24005/0/21
next hop 10.5.101.5/32 Gi0/0/0/1 labels imposed {ImplNull 24014}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Process bRIB/RIB SendTblVer
Speaker 235 235
Last Modified: Sep 18 06:22:24.649 for 00:03:59
Paths: (4 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 235
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.5 (metric 3) from 10.0.0.101 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.5, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 4, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Conclusion:
As of Cisco IOS®-XR 7.3.1, this has changed:
This is the path selection available in a route-policy:
RP/0/RP0/CPU0:RR(config-rpl)#set path-selection ?
all BGP all paths
backup BGP backup path
best-path BGP best path
group-best BGP group best path
multipath BGP multipath
The best-path is the default.
This is supported at the address-family level.
Configuration example:
router bgp 65000
address-family ipv4 unicast
!
address-family vpnv4 unicast
additional-paths receive
additional-paths send
additional-paths selection route-policy BGP-Path-Selection
!
neighbor 10.0.0.1
remote-as 65000
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family vpnv4 unicast
route-reflector-client
!
!
vrf one
rd 1:1
address-family ipv4 unicast
maximum-paths ibgp 2
additional-paths selection route-policy BGP-Path-Selection
redistribute connected
!
!
!
To start with Cisco IOS®-XR 7.3.1, some path selection options in a route-policy are also supported at the neighbor level. This leads to more granular control as to which paths are advertised to which BGP neighbors. As an example, a BGP speaker might advertise the best path and one backup path to one BGP neighbor, but advertise the multipath and protect the multipath path to another neighbor.
At the neighbor level, there is:
RP/0/RP0/CPU0:RR(config-rpl)#if destination ?
in Member of a set
is-all Check for additional paths selected by all path-selection
is-backup-path Checks for backup path
is-best-external Checks for best external route
is-best-path Checks for best path
is-multi-path Checks for multiple paths
is-multipath-protect Checks for multipath-protect path
longer-than Prefix-length greater than the route's prefix length
or-longer Prefix-length equal to or greater than the route's prefix length
Warning: The best path is multipath if the BGP command maximum-path is configured. However, if the only condition configured in the route-policy is is-multi-path then only the multipath paths which are not the best path, are advertised! It depends on the BGP design, but it is likely that if the multipath paths should be advertised, then the best path should be advertised as well.
The is-all and is-multipath-protect are newly introduced with Cisco IOS®-XR 7.3.1.
As of Cisco IOS®-XR 7.3.1, you can have multipleset path-selection statements in one route-policy related to one prefix. Before Cisco IOS®-XR 7.3.1, this was not allowed and would lead to unpredictable BGP path behavior.
Having more than one path selection or not is looked at per prefix.
For example, before Cisco IOS®-XR 7.3.1, the following is not supported:
route-policy add-path-to-ibgp
set weight 65000
set path-selection backup 1 install
set metric-type type-1
set extcommunity rt RT BUSINESS additive
set path-selection all advertise
set rib-metric 100
end-policy
You have two set path-selection statements in one route-policy applied to the same prefixes.
However, before Cisco IOS®-XR 7.3.1, the following is supported. The reason is that the different path selection statements are for different prefixes, because if statements with a selection (destination, community, …) are used.
Example 1:
route-policy ADDPATH
if destination in TRAFFIC_1 then
set path-selection backup 1 install
endif
if destination in TRAFFIC_2 then
set path-selection multipath advertise
endif
end-policy
This is good as the set-path selection statements relate to different prefixes (they are in two different if statements).
Example 2:
route-policy ADDPATH-2
if community matches-any COMM_ADD-PATH then
set path-selection backup 1 install multipath-protect advertise
else
set path-selection best-path
endif
end-policy
This is good as the set path selection statements relate to different prefixes (they are in two different parts of the if statement).
Starting with Cisco IOS®-XR 7.3.1, this is supported.
This is an example of a route-policy with more than one set path-selection statement:
route-policy BGP-Path-Selection
set path-selection multipath advertise
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
end-policy
!
The per-neighbor route-policy specifies which paths are advertised to that neighbor. Any path can only be chosen from the already marked paths at the address-family level.
At the address-family level, you have the path selection:
RP/0/RP0/CPU0:RR(config-rpl)#set path-selection ?
all BGP all paths
backup BGP backup path
best-path BGP best path
group-best BGP group best path
multipath BGP multipath
At the neighbor level, there is:
RP/0/RP0/CPU0:RR(config-rpl)#if destination ?
in Member of a set
is-all Check for additional paths selected by all path-selection
is-backup-path Checks for backup path
is-best-external Checks for best external route
is-best-path Checks for best path
is-multi-path Checks for multiple paths
is-multipath-protect Checks for multipath-protect path
longer-than Prefix-length greater than the route's prefix length
or-longer Prefix-length equal to or greater than the route's prefix length
Warning: The best path is multipath if the BGP command maximum-path is configured. However, if the only condition configured in the route-policy is is-multi-path then only the multipath paths which are not the best path, are advertised! It depends on the BGP design, but it is likely that if the multipath paths should be advertised, then the best path should be advertised as well.
The is-all and is-multipath-protect are newly introduced with Cisco IOS®-XR 7.3.1.
With this approach, the marking of path selection can be a mix of the path selection modes you have (for example all, backup, multipath, multipath-protect, and so on).
The neighbor policy controls the advertisement based on the path selection marking.
For the marking part: for example, you can have backup and multipath configured together in the route-policy at the address-family level:
route-policy BGP-Path-Selection
set path-selection multipath advertise (1)
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise (2)
end-policy
!
The two set path-selection statements above are what is newly supported starting with Cisco IOS®-XR 7.3.1. With maximum-path ibgp 3 still configured in the example, you have these:
This combination was not possible before Cisco IOS®-XR 7.3.1. This means that either (1) or (2) would be in effect.
This is the result:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 18 06:59:27.907 for 00:00:28
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.2 0.3
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2 0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.2
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
RP/0/RP0/CPU0:RR#show route vrf one 10.1.1.1/32
Routing entry for 10.1.1.1/32
Known via "bgp 65000", distance 200, metric 0
Number of pic paths 1 , type internal
Installed Sep 18 06:59:27.833 for 00:01:59
Routing Descriptor Blocks
10.0.0.1, from 10.0.0.1, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.2, from 10.0.0.2, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.3, from 10.0.0.3, BGP backup path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
10.0.0.4, from 10.0.0.4, BGP multi path
Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000
Route metric is 0
No advertising protos.
RP/0/RP0/CPU0:RR#show cef vrf one 10.1.1.1/32
10.1.1.1/32, version 409, internal 0x5000001 0x30 (ptr 0xd96a770) [1], 0x0 (0xe3662a8), 0xa08 (0xf4e1168)
Updated Sep 18 06:59:27.836
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.1/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 0 NHID 0x0 [0xdab2bc0 0x0], Internal 0xd6a2190
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.1/32 via 24003/0/21
next hop 10.1.101.1/32 Gi0/0/0/0 labels imposed {ImplNull 24012}
via 10.0.0.2/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 1 NHID 0x0 [0xdab2e48 0x0], Internal 0xd6a2550
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.2/32 via 24001/0/21
next hop 10.2.101.2/32 Gi0/0/0/4 labels imposed {ImplNull 24012}
via 10.0.0.3/32, 2 dependencies, recursive, backup [flags 0x6100]
path-idx 2 NHID 0x0 [0xdab2060 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.3/32 via 24007/0/21
next hop 10.3.101.3/32 Gi0/0/0/6 labels imposed {ImplNull 24012}
via 10.0.0.4/32, 3 dependencies, recursive, bgp-multipath [flags 0x6080]
path-idx 3 NHID 0x0 [0xdab2c98 0x0], Internal 0xd6a2370
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 10.0.0.4/32 via 24000/0/21
next hop 10.4.101.4/32 Gi0/0/0/7 labels imposed {ImplNull 24013}
Verify the advertised paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 271 271
Last Modified: Sep 18 06:59:28.649 for 00:01:53
Paths: (4 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 271
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.3 (metric 3) from 10.0.0.101 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.3, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 4, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
It is now possible to advertise to one neighbor the primary(best path) and backup paths, based on is-best-path or is-backup-path.
For another neighbor, the multipath can be advertised with is-multi-path.
Example of neighbor route-policy (used with the route-policy at the address-family level):
route-policy BGP-neighbor-1
if community matches-any COMM-LIST-1 then
if destination is-best-path or destination is-backup-path then
pass
else
drop
endif
elseif community matches-any COMM-LIST-2 then
if destination is-multi-path or destination is-multipath-protect then
pass
else
drop
endif
else
drop
endif
end-policy
!
If the RR has these BGP paths:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 18 07:14:32.907 for 00:06:53
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Then for the first path of the neighbor route-policy, which is this:
if destination is-best-path or destination is-backup-path then
pass
The neighbor PE6 receives these paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 283 283
Last Modified: Sep 18 07:14:33.649 for 00:07:21
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.1 (metric 3) from 10.0.0.101 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 283
Extended community: RT:65000:1
Originator: 10.0.0.1, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 2, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
These two paths are the best path and the backup path on RR.
For the second part of the neighbor route-policy, which is this:
if destination is-multi-path or destination is-multipath-protect
then
pass
The neighbor PE6 receives these paths:
RP/0/RP0/CPU0:PE6#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 299 299
Last Modified: Sep 18 07:31:09.649 for 00:02:29
Paths: (3 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.0.2 (metric 3) from 10.0.0.101 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported
Received Path ID 2, Local Path ID 1, version 299
Extended community: RT:65000:1
Originator: 10.0.0.2, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.0.4 (metric 3) from 10.0.0.101 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 3, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.4, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Not advertised to any peer
Local
10.0.0.3 (metric 3) from 10.0.0.101 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 4, Local Path ID 0, version 0
Extended community: RT:65000:1
Originator: 10.0.0.3, Cluster list: 10.0.0.101
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
These paths are the multipath paths (but not including the best path!) and the backup(protect multipath) path.
The BGP paths are shown in lexicographical order.
A new command -introduced in Cisco IOS®-XR 7.3.1- can be used to see the BGP paths in the order they were received:
show bgp <afi> rd <rd> <path_details> <age-order>
This command is useful to see why paths were marked multipath. The paths received earlier are marked multipath and are installed in the RIB as maximum-path routes. The show route command shows the BGP multi path keyword for the routes installed as such.
In order to verify which path is marked multipath, the new command can be used to verify the order in which all the paths were received. The newer paths are at the top of the output.
For example, with the following configuration:
route-policy BGP-Path-Selection
set path-selection multipath advertise
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
end-policy
!
There are no changes in the best-path decision process, nor do the paths have any attributes (like local preference) that affect the best-path decision process.
The RR has this BGP path selection:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Last Modified: Sep 18 08:46:11.907 for 00:03:43
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Why is the path from 10.0.0.1 the best path? Why is the path from 10.0.0.2 the backup path? Why is the path from 10.0.0.3 multipath? Why is the path from 10.0.0.4 the backup(protect multipath)? Why is the path from 10.0.0.5, not the best path, not multipath, and not the backup(protect multipath) path?
You can see this with the same command with age-order at the end. The newer paths are at the top of the output.
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 age-order
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Flags: 0x240692b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 07:31:07.907 for 00:23:23
Paths: (5 available, best #3)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Flags: 0x2000000084060205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000084020205, import: 0x96
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5), if-handle 0x00000000
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
You can use the show bgp commands with keyword bestpath-compare in order to verify why a path is not the best path (a reason is shown per path).
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 bestpath-compare
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Flags: 0x240692b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 07:31:07.907 for 00:44:59
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
best of local AS, Overall best
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
iBGP multi-path
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
iBGP multi-path
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000084060205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6 10.0.0.5
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 3, version 5
Extended community: RT:65000:1
Higher router ID than best path (path #1)
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Flags: 0x2000000084020205, import: 0x96
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5), if-handle 0x00000000
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Higher router ID than best path (path #1)
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Since most attributes in the BGP paths are equal between the paths, the decision to pick the best path went down to the lowest router ID of the BGP speaker. Here is BGP speaker 10.0.0.1. The backup path is the second-best path, hence the second-lowest router ID of the BGP speaker. Here this is 10.0.0.2.
The paths from 10.0.0.4 and 10.0.0.5 are not multipath paths because they were installed later than the paths from 10.0.0.1, 10.0.0.2, and 10.0.0.3.
route-policy BGP-Path-Selection
set path-selection multipath advertise
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
end-policy
!
Maximum-path ibgp 3 is configured.
The backup is the second-best path. Here, the multipath paths were received before the backup path. So, there are three multipath paths and another is a backup path.
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 age-order
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Flags: 0x240692b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 08:51:17.907 for 00:07:11
Paths: (5 available, best #3)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Flags: 0x2000000084020205, import: 0x96
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 0, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000084060205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5), if-handle 0x00000000
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 1, Local Path ID 3, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Shut down the neighbor 10.0.0.5. Now you have:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 age-order
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 7 7
Flags: 0x2406b2b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 09:05:07.907 for 00:00:23
Paths: (4 available, best #3)
Advertised to update-groups (with more than one peer):
0.3
Path #1: Received by speaker 0
Flags: 0x2000000084060205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 5, version 7
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 7
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Unshut the neighbor 10.0.0.5:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 age-order
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 10 10
Flags: 0x2406b2b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 09:08:42.907 for 00:00:00
Paths: (5 available, best #4)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Flags: 0x2000000084020205, import: 0x96
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5), if-handle 0x00000000
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000084060205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 5, version 7
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 10
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Flags: 0x2000000084070205, import: 0x96
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Nothing has changed to the 4 paths which were installed before. Only the path from 10.0.0.5 was added. It sits at the top because it is newer. It is not a multipath or any kind of backup path.
The path from 10.0.0.5 has changed from multipath to non-multipath after a state change in the path!
Conclusion :
There is an option to order the multipath paths per the Interior Gateway Protocol (IGP) metric.
RP/0/RP0/CPU0:RR#conf t
RP/0/RP0/CPU0:RR(config)#router bgp 65000
RP/0/RP0/CPU0:RR(config-bgp)#vrf one
RP/0/RP0/CPU0:RR(config-bgp-vrf)#address-family ipv4 unicast
RP/0/RP0/CPU0:RR(config-bgp-vrf-af)#maximum-paths ibgp 3 unequal-cost ?
deterministic Deterministic Multipath selection primarily on IGP metric order
selective Allow multipaths only from marked neighbors
<cr>
RP/0/RP0/CPU0:RR(config-bgp-vrf-af)#maximum-paths ibgp 3 unequal-cost deterministic ?
selective Allow multipaths only from marked neighbors
<cr>
RP/0/RP0/CPU0:RR(config-bgp-vrf-af)#maximum-paths ibgp 3 unequal-cost deterministic
RP/0/RP0/CPU0:RR(config-bgp-vrf-af)#commit
RP/0/RP0/CPU0:RR(config-bgp-vrf-af)#end
RP/0/RP0/CPU0:RR#
The unequal cost is needed as otherwise, you end up with only the best path, a backup path, but no multipath because multipath need the same IGP cost to be considered multipath.
The IGP cost from RR to the PE routers is changed in the topology. The IGP cost is configured as follows:
There are still these:
route-policy BGP-Path-Selection
set path-selection multipath advertise
set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise
end-policy
!
Before the IGP metric (the cost is the same on all links) changes:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 10 10
Last Modified: Sep 18 09:08:42.907 for 05:26:53
Paths: (5 available, best #1)
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.5
Local, (Received from a RR-client)
10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 0, Local Path ID 1, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 2, version 10
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 0, Local Path ID 4, version 5
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Advertised to peers (in unique update groups):
10.0.0.5 10.0.0.6
Local, (Received from a RR-client)
10.0.0.4 (metric 2) from 10.0.0.4 (10.0.0.4)
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 0, Local Path ID 5, version 7
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5)
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
After the IGP metric change:
RP/0/RP0/CPU0:RR#show bgp vpnv4 unicast rd 1:1 10.1.1.1/32 age-order
BGP routing table entry for 10.1.1.1/32, Route Distinguisher: 1:1
Versions:
Process bRIB/RIB SendTblVer
Speaker 14 14
Flags: 0x2486b2b2+0x00010000; multipath; backup available;
Last Modified: Sep 18 16:09:45.907 for 00:01:10
Paths: (5 available, best #2)
Advertised to update-groups (with more than one peer):
0.3
Path #1: Received by speaker 0
Flags: 0x2000000084020205, import: 0x94
Not advertised to any peer
Local, (Received from a RR-client)
10.0.0.1 (metric 6) from 10.0.0.1 (10.0.0.1), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, import-candidate, imported
Received Path ID 1, Local Path ID 0, version 0
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #2: Received by speaker 0
Flags: 0x2000000085070205, import: 0x9f
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.0.0.5 (metric 2) from 10.0.0.5 (10.0.0.5), if-handle 0x00000000
Received Label 24014
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate, imported
Received Path ID 1, Local Path ID 1, version 11
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #3: Received by speaker 0
Flags: 0x2000000084060205, import: 0x94
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.2 (metric 5) from 10.0.0.2 (10.0.0.2), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, backup(protect multipath), add-path, import-candidate, imported
Received Path ID 1, Local Path ID 3, version 10
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #4: Received by speaker 0
Flags: 0x2000000084070205, import: 0xd4
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.4 (metric 3) from 10.0.0.4 (10.0.0.4), if-handle 0x00000000
Received Label 24013
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, backup, add-path, import-candidate, imported
Received Path ID 1, Local Path ID 5, version 14
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Path #5: Received by speaker 0
Flags: 0x2000000084070205, import: 0x94
Advertised to update-groups (with more than one peer):
0.3
Advertised to peers (in unique update groups):
10.0.0.6
Local, (Received from a RR-client)
10.0.0.3 (metric 4) from 10.0.0.3 (10.0.0.3), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0, localpref 100, valid, internal, multipath, add-path, import-candidate, imported
Received Path ID 1, Local Path ID 4, version 10
Extended community: RT:65000:1
Source AFI: VPNv4 Unicast, Source VRF: one, Source Route Distinguisher: 1:1
Revision | Publish Date | Comments |
---|---|---|
2.0 |
10-Dec-2021 |
Formatting updates |
1.0 |
17-Jun-2021 |
Initial Release |