BGP Prefix Independent Convergence

Restrictions:

  • Ensure that the Border Gateway Protocol (BGP) and the IP or Multiprotocol Label Switching (MPLS) network is up and running at the customer site that is connected to the provider site by more than one path (multihomed).

  • BGP PIC does not support instances where the sum of number of primary paths and backup paths is greater than 2. Hence, only one primary path and one backup path are supported.

  • BGP PIC does not work when Label Distribution Protocol (LDP) and Segment Routing (SR) are enabled in IGP.

  • Ensure that the backup or alternate path has a unique next hop that is not the same as the next hop of the best path.

  • As a best practice, enable the Bidirectional Forwarding Detection (BFD) protocol to quickly detect link failures.

  • When paths of different technologies are resolved over ECMP, it results in heterogeneous ECMP, leading to severe network traffic issues. Don’t use ECMP for any combination of the following technologies:

    • LDP.

    • BGP-LU, including services over BGP-LU loopback peering or recursive services at Level-3.

    • VPNv4.

    • 6PE and 6VPE.

    • EVPN.

    • Recursive static routing.

BGP PIC: Export of Backup Path Agnostic to its Multipath Eligibility

The BGP PIC: Export of Backup Path Agnostic to its Multipath Eligibility feature improves BGP convergence after a network failure. This convergence applies to both core and edge failures. The BGP PIC pre-programs a backup path so that when a failure is detected, the backup path can immediately take over, thus enabling fast failover. This feature enables BGP PIC on VPNv4 with additional paths or when the multiple paths that are ineligible to be multipath are received from the same neighbor. For backup paths to be multipath eligible, all the following attributes in the backup paths must be the same: weight, local preference, autonomous system path, origin code, Multi Exit Discriminator (MED), and Interior Gateway Protocol (iGP) distance. Also, the next hop router for each multipath must be different. This feature introduces flexibility to allow the import of backup paths to the VRF even if the said attributes are not the same.

Configuration Example

Router# router bgp 10
Router(config-bgp)# address-family vpnv4 unicast
router(config-bgp-af)# export to vrf allow backup

Running Configuration


router bgp 10
 address-family vpnv4 unicast
  export to vrf allow backup

BGP PIC Implementation Considerations

  • TE, SR-TE, flex-LSP in the core are not supported.

  • BVI as a core is not supported.

  • For labelled BGP loopback peering, the system supports only one primary and one backup path. No support for BGP PIC multipath protect.

  • PIC EDGE is supported for all services, such as IPv4, IPv6, VPNv4, VPNv6, 6PE, 6VPE, VPWS, VPLS, and EVPN.over labelled unicast address-family.

  • The system supports BGP PIC multipath protect only for unlabelled BGP IPv4 and IPv6 address family. The support is for both loopback peering and interface peering mode.

  • The system supports BGP PIC multipath protect only for labelled BGP in interface peering mode.

  • Labelled BGP over IPv6 core BGP PIC is not supported.

Configure BGP PIC

Procedure


Step 1

cef encap-sharing disable

Example:

RP/0/RP0/CPU0:router(config)# cef encap-sharing disable

By default, without primary and backup path installation in the hardware, IPv4, IPv6, 6PE (per-vrf), 6VPE (per-vrf/per-ce), L3VPN (per-vrf/per-ce) has good convergence.

When the mode is a per-prefix by default, BGP-PIC does not give good convergence, hence you must do hardware-assisted PIC. For this, configure the cef encap-sharing disable command in XR Config mode.

With hardware-assisted BGP PIC that is configured using the cef encap-sharing disable command, separate hardware resources (FEC/EEDB) are allocated for every prefix. Cisco recommends you to make sure that the router has sufficient hardware resources for the resource allocation.

Caution

 
This CLI reprograms the CEF completely and impacts traffic. We recommend that you do it in the maintenance window.

Note

 
  • The cef encap-sharing disable command does not take effect in the SRv6 core.

  • Reload the router for the cef encap-sharing disable command to take effect.

Step 2

router bgp as-number

Example:


RP/0/RP0/CPU0:router(config)# router bgp 100

Specifies the autonomous system number and enters the BGP configuration mode, allowing you to configure the BGP routing process.

Step 3

address-family {vpnv4 unicast | vpnv6 unicast | ipv4 unicast | ipv6 unicast }

Example:


RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
address-family ipv4 unicast
  additional-paths receive
  additional-paths selection route-policy backup 1
  allocate-label all 
!

Step 4

additional-paths selection route-policy route-policy-name

Example:

RP/0/RP0/CPU0:router(config-bgp-af)# additional-paths selection route-policy ap1

Configures extra paths selection mode for a prefix.

Note

 
Use the additional-paths selection command with an appropriate route-policy to calculate backup paths and to enable Prefix-Independent Convergence (PIC) functionality.
The route-policy configuration is a prerequisite for configuring the additional-paths selection mode for a prefix. This is an example route-policy configuration to use with additional-selection command:
route-policy ap1
    set path-selection backup 1 install
  end-policy

Configure BGP PIC Multipath

For multipath bgp-pic, configure the route-policy as following:
route-policy ap1
  set path-select backup 1 install multipath-protect [advertise]
!