Contents

Introduction

Background Information

Summary

Set Path-Selection Commands in Route-Policies

1. set path-selection backup 1 install

2. set path-selection backup 1 advertise

3. set path-selection backup 1 advertise install

4. set path-selection all advertise

5. set path-selection best-path

6. set path-selection multipath advertise

7.  set path-selection backup 1 install multipath-protect

8. set path-selection backup 1 install multipath-protect advertise

9. set path-selection group-best advertise

10. set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise

11. set path-selection multipath advertise multipath-protect

12. set path-selection multipath advertise multipath-protect multipath-protect-advertise

New Path Selection Behavior as of Cisco IOS®-XR 7.3.1

Per Neighbor Path Selection is Possible

Multiple set path-selection Statements are Allowed in One Route-Policy

Show the BGP Paths in the Order they are Received

Backup Versus backup(protect multipath) Path

Order by IGP Metric

Introduction

This document describes the set path-selection statement in a route policy for Border Gateway Protocol (BGP) within the Cisco IOS®-XR.

Background Information

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:

- How to get BGP to pick multiple paths to be installed?

- How to get BGP to advertise multiple paths?

Another feature used by BGP is Additional Paths (ADD-Paths). This feature allows BGP to advertise more than one path over one BGP session.

Summary

- The best path is always picked by BGP. If not, there is something wrong. This article does not cover those scenarios.

- A backup path can be chosen if the specific feature is configured (for example BGP PIC).

- A route-policy can be configured under a specific address family for BGP to select the paths to be installed and/or advertised.

- Before Cisco IOS®-XR 7.3.1, there is support for only one set path-selection statement in the route-policy for selecting paths for a specific prefix.

- To start with Cisco IOS®-XR 7.3.1, there is support for multiple set path-selection statements in the route-policy for selecting paths for a specific prefix.

- Starting with Cisco IOS®-XR 7.3.1, a feature was added where a route-policy can be used to advertise specific paths for a BGP prefix to one BGP neighbor.

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

Set Path-Selection Commands in Route-Policies

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.

1. set path-selection backup 1 install

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.

2. set path-selection backup 1 advertise

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.

3. set path-selection backup 1 advertise install

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.

4. set path-selection all advertise

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.

5. set path-selection best-path

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.

6. set path-selection multipath advertise

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

- The vpnv4 paths are marked with multipath.

- The 3 multipath paths are installed in the RIB.

- The 3 multipath paths are advertised.

- There is no backup path.

Conclusion: Multipath paths are installed in the RIB and advertised. There is no backup selected, installed, or advertised.

7.  set path-selection backup 1 install multipath-protect

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.

8. set path-selection backup 1 install multipath-protect advertise

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 are three multipath paths.

- There is one ‘backup(protect multipath)’ path. This is the installed backup path in the RIB/CEF table.

- The fifth path is unmarked.

- The best path and the backup path are advertised.

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

- There is no ECMP on RR.

- The second-best path is the backup path. It is installed in the RIB/CEF table.

- The best path and backup path are advertised.

- 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 best path and the backup path are advertised.

9. set path-selection group-best advertise

- Group-best can only be used with advertise.

- Group-best selection is the best path per AS (Autonomous System) and also per next-hop.

- The prefix originates from different autonomous systems.

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.

10. set path-selection backup 1 install multipath-protect advertise multipath-protect-advertise

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.

11. set path-selection multipath advertise multipath-protect

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

- The third path is the backup path. It is marked as backup(protect multipath) in BGP and installed as a backup path in the RIB.

- The best path and the multipath paths are advertised.

- The ‘backup(protect multipath)’ path is not advertised.

12. set path-selection multipath advertise multipath-protect multipath-protect-advertise

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:

- All 3 paths are marked multipath in BGP.

- 3 ECMP paths are installed in the RIB/CEF table.

- The second path is the backup path. Marked as backup(protect multipath) in BGP, and installed as a backup path in the RIB/CEF table.

- The best path and the multipath paths and the ‘backup(protect multipath)’ paths are advertised.

New Path Selection Behavior as of Cisco IOS®-XR 7.3.1

As of Cisco IOS®-XR 7.3.1, this has changed:

- Per neighbor path selection is possible. Before Cisco IOS®-XR 7.3.1, this was only per address family.

- Multiple set path-selection statements are allowed in one route-policy.

- The BGP paths can be displayed in the order they are received.

Per Neighbor Path Selection is Possible

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.

Multiple set path-selection Statements are Allowed in One Route-Policy

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:

- Allows the best path and all multipath paths to be advertised.

- Allows the best path and the backup(protect multipath) path to be advertised.

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.

Show the BGP Paths in the Order they are Received

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.

Backup Versus backup(protect multipath) Path

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

- The path from 10.0.0.5 disappeared.

- The path from 10.0.0.2 is still backup, but it is now also multipath.

- Because the backup path is also a multipath path, you now have a backup(protect multipath) path. This is the path from 10.0.0.4.

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 :

- The order in which paths are received plays a role in determining which paths are multipath.

- The order in which paths are received plays a role if there is a backup(protect multipath) path or not.

- The order in which paths are received does not play a role in which path is chosen as the best path or backup path.

Order by IGP Metric

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:

- RR to PE1 : 5

- RR to PE2 : 4

- RR to PE3 : 3

- RR to PE4 : 2

- RR to PE5 : 1

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

- The best path is now the path from 10.0.0.5 due to the lower IGP metric (metric 2).

- The backup path is now the path with the second-best IGP metric, the path from 10.0.0.4 (metric 3).

- The best path and backup path are also multipath, so one multipath path remains to be chosen.  This is the path from 10.0.0.3 (metric 4).

- The backup(protect multipath) path is the path from 10.0.0.2 (metric 5).

- Finally, the path from 10.0.0.1 (metric 6) is not marked at all, because it has the worst metric.