Routing Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Release

PDF

BGP 256-way UCMP

Want to summarize with AI?

Log in

Describes how BGP supports up to 256 UCMP next hops, allocates hash buckets by path weight, and improves bandwidth use and load distribution across parallel paths.


The unequal cost multipath (UCMP) load-balancing is a network traffic management method that

  • balances traffic proportionally across multiple paths with different costs

  • allows higher bandwidth paths to have lower Interior Gateway Protocol (IGP) metrics, and

  • enables the use of lower bandwidth or higher cost paths for traffic by installing them into the forwarding information base (FIB).

The forwarding information base (FIB) is a routing component that installs multiple paths to the same destination associates each path with a load metric or weight, and uses this load metric or weight to distribute traffic across paths efficiently.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

BGP 256-way UCMP for enhanced bandwidth and load distribution

Release 25.1.1

Introduced in this release on: Fixed Systems (8200 [ASIC: Q200, P100], 8700 [ASIC: P100, K100]; Centralized Systems (8600 [ASIC:Q200]); Modular Systems (8800 [LC ASIC: Q100, Q200, P100])

You can now configure up to 256 unequal cost multipath (UCMP) next hops for BGP in both IPv4 and IPv6, significantly enhancing the previous limit of 64. This increase allows for improved network bandwidth and more effective load balancing across parallel paths.

The BGP 256-way UCMP for enhanced bandwidth and load distribution feature allows BGP to allocate 256 hash buckets across multiple paths based on assigned weights. That allocation ensures that paths with higher weights receive more hash buckets, improving bandwidth use and distributing network load more evenly.

Benefits of BGP 256-way UCMP

These are the key benefits of the BGP 256-way UCMP for enhanced bandwidth and load distribution:

  • You can optimize network performance by balancing traffic across up to 256 paths. This reduces bottlenecks and improves overall data flow.

  • You gain enhanced configuration flexibility and greater granularity in path configuration with up to 256 paths, enabling a wider range of weight distribution options to improve network management and optimization.


Restrictions for BGP 256-way UCMP

You cannot use the BGP 256-way UCMP feature for enhanced bandwidth and load distribution on MPLS networks. If your network uses MPLS, you can only use 64-way UCMP. Consider this limitation when designing your network to ensure compatibility and optimal network performance.


Configure BGP 256-way UCMP

Set up the BGP 256-way UCMP for enhanced bandwidth and load distribution feature using:

  • IGP configuration

  • BGP configuration

This feature works with both IPv4 and IPv6 addresses. However, the examples are provided only for IPv4 addresses.

Procedure

SUMMARY STEPS

  1. Configure the Interior Gateway Protocol (IGP) to enable UCMP to efficiently manage and optimize traffic flow across the network.
  2. Execute the show cef prefix detail command to verify that there are 256 multpaths available in total as configured in the IGP settings.
  3. Configure BGP to manage and optimize traffic distribution across multiple external paths with different costs.
  4. Configure the BGP router to utilize multiple paths for routing traffic, thereby enhancing load balancing and redundancy across the network.
  5. Execute the show cef prefix detail command to verify that there are 256 multpaths available in total as configured in the BGP settings.

DETAILED STEPS

1.

Configure the Interior Gateway Protocol (IGP) to enable UCMP to efficiently manage and optimize traffic flow across the network.

Configure two interfaces for IPv4 unicast routing in point-to-point mode with weights of 127 and 129, ensuring that the combined total of paths equals 256.

Example:


Router(config)# router isis 1
Router(config-isis)# is-type level-2-only 
Router(config-isis)# net 50.0002.0000.0000.0001.00
Router(config-isis)# address-family ipv4 unicast
Router(config-isis-af)# address-family ipv4 unicast
Router(config-isis-af)# exit
Router(config-isis)# interface FourHundredGigE0/0/0/10
Router(config-isis-if)# point-to-point 
Router(config-isis-if)# address-family ipv4 unicast
Router(config-isis-if-af)# weight 129
Router(config-isis-if-af)# exit
Router(config-isis-if)# exit
Router(config-isis)# interface FourHundredGigE0/0/0/11
Router(config-isis-if)# point-to-point 
Router(config-isis-if)# address-family ipv4 unicast
Router(config-isis-if-af)# weight 127
Router(config-isis-if-af)# exit
Router(config-isis-if)# exit

You have set up two interfaces for IPv4 unicast routing in point-to-point mode with specified weights, optimizing the distribution of these weights across the 256 buckets.

2.

Execute the show cef prefix detail command to verify that there are 256 multpaths available in total as configured in the IGP settings.

The weight distribution values displayed in the show output indicates that the total number of paths is 256.

Router# show cef 203.0.113.254 detail 
203.0.113.254/24, version 30, internal 0x1000001 0x20 (ptr 0x9c537548) [1], 0x400 (0x9c506318), 0x0 (0x0)
 local adjacency to FourHundredGigE0/0/0/10

 Prefix Len 24, traffic index 0, precedence n/a, priority 2
  gateway array (0x9c39f998) reference count 1, flags 0x0, source rib (7), 0 backups
                [2 type 3 flags 0x8401 (0x9c444918) ext 0x0 (0x0)]
  LW-LDI[type=3, refc=1, ptr=0x9c506318, sh-ldi=0x9c444918]
  gateway array update type-time 1 Feb 18 00:23:39.241
 LDI Update time Feb 18 00:23:39.241
 LW-LDI-TS Feb 18 00:23:39.245
   via 10.0.0.2/32, FourHundredGigE0/0/0/10, 5 dependencies, weight 129, class 0 [flags 0x0]
    path-idx 0 NHID 0x2 [0xb2f60210 0x0]
    next hop 10.0.0.2/32
    local adjacency
   via 172.31.255.254/32, FourHundredGigE0/0/0/11, 5 dependencies, weight 127, class 0 [flags 0x0]
    path-idx 1 NHID 0x1 [0xb2f60380 0x0]
    next hop 172.31.255.254/32
    local adjacency

/* These two paths carry a weight distribution designed to optimize allocation across 256 hash buckets. */
    slot 0, weight 129, normalized_weight 129, class 0
    slot 1, weight 127, normalized_weight 127, class 0


    Load distribution: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (refcount 2)
3.

Configure BGP to manage and optimize traffic distribution across multiple external paths with different costs.

Configure route policies BW1 and BW2 to attach a bandwidth-related extended community to BGP routes, ensuring that the combined bandwidth represented by these extended communities equals a total of 256.

Example:

Router(config)# route-policy BW1
Router(config-route-policy)# set extcommunity bandwidth (2906:127)
Router(config-route-policy)# end-policy

Router(config)# route-policy BW2
Router(config-route-policy)# set extcommunity bandwidth (2906:129)
Router(config-route-policy)# end-policy

As a result of this configuration, you set up two route policies, BW1 and BW2, to manage and optimize traffic distribution across BGP routes by adding specific bandwidth-related extended communities.

  • BW1 Policy: This policy adds an extended community with the bandwidth attribute (2906:127) to the BGP routes it is applied to.

  • BW2 Policy: This policy adds an extended community with the bandwidth attribute (2906:129) to the BGP routes it is applied to.

4.

Configure the BGP router to utilize multiple paths for routing traffic, thereby enhancing load balancing and redundancy across the network.

Set up a BGP instance with AS number 1. Adjust path selection criteria for multipath routing. Establish the IPv4 unicast address family. Enable multipath capabilities for up to 256 paths.

Example:

Router(config)# router bgp 1
Router(config-router)# bgp bestpath as-path multipath-relax
Router(config-router)# address-family ipv4 unicast
Router(config-router-af)# maximum-paths eibgp 256
Router(config-router-af)# exit

You enable the BGP router to use 256 paths for routing traffic. This enhances load balancing and redundancy across the network.

5.

Execute the show cef prefix detail command to verify that there are 256 multpaths available in total as configured in the BGP settings.

Router# show cef 198.51.100.254 detail           
198.51.100.254/24, version 56, internal 0x5000001 0x40 (ptr 0x9c538178) [1], 0x0 (0x0), 0x0 (0x0)
 Prefix Len 24, traffic index 0, precedence n/a, priority 4
  gateway array (0x9c3a0598) reference count 1, flags 0x2010, source rib (7), 0 backups
                [1 type 3 flags 0x48441 (0x9c445218) ext 0x0 (0x0)]
  LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
  gateway array update type-time 1 Feb 18 01:32:57.940
 LDI Update time Feb 18 01:32:57.940

/* These two paths carry a weight distribution designed to optimize allocation across 256 hash buckets. */
    Weight distribution:
    slot 0, weight 129, normalized_weight 129
    slot 1, weight 127, normalized_weight 127


  Level 1 - Load distribution: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1