BGP Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

Policy-based cumulative bandwidth advertisements

Want to summarize with AI?

Log in

Overview

Explains the functionality of policy-based cumulative bandwidth advertisements and describes how they enable selective cumulation, suppression of minor changes, local domain boundary control, bandwidth rounding, and policy-driven outbound actions.

Policy-based cumulative bandwidth advertisement is a BGP routing protocol feature that allows you to

  • enable cumulation for selected prefixes

  • suppress minor cumulative bandwidth changes by applying configurable thresholds

  • limit cumulative bandwidth calculations to local link bandwidths at domain boundaries

  • control how the bandwidth used for unequal-cost multipath (UCMP) is determined

  • round cumulative bandwidth changes to the nearest multiple of a configured number, and

  • set outbound policy actions based on bandwidth comparator result.

Cumulative bandwidth is the total available bandwidth that is calculated by summing the bandwidths of all eBGP multipath routes.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Policy-based cumulative bandwidth advertisements

Release 25.4.1

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

You can now reduce unnecessary BGP updates, such as frequent route advertisements caused by small, insignificant bandwidth changes, and improve network stability by suppressing minor bandwidth changes, rounding advertised bandwidth to a specified value, and setting outbound policy actions based on bandwidth thresholds.

This feature introduces these changes:

CLIs:

Policy-based cumulative bandwidth advertisements

Release 25.3.1

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

You can now reduce routing churn by selectively advertising cumulative bandwidth for specific BGP prefixes, customizing bandwidth calculation per route, and containing updates within your local domain.

This feature introduces these changes:

CLIs:

Key features

These are the key capabilities of the policy-based cumulative bandwidth advertisement feature:

  • Selective cumulation for prefixes: You can choose which BGP prefixes advertise cumulative bandwidth instead of applying it to all routes. Using route policy criteria, such as BGP communities, you can target only selected prefixes. This reduces unnecessary routing churn and helps you focus on critical traffic paths.

  • Granular control of bandwidth type: You can control how the bandwidth used for unequal-cost multipath (UCMP) is determined. The bandwidth value can come from:

    • The local link

    • A value received from a BGP neighbor

    • A mathematical function combining both

    You can also apply scaling factors. This flexibility allows more precise traffic distribution and better overall network efficiency.

  • Cumulative bandwidth by link-bandwidth (domain boundary): You can limit cumulative bandwidth calculations to local link bandwidths at domain boundaries. This ensures that only local changes affect advertised bandwidth, preventing remote network events from causing unnecessary routing updates.

  • Suppression of non-significant bandwidth changes: You can configure a threshold below which bandwidth changes are not advertised. By suppressing small or insignificant changes, the feature reduces control plane load and routing churn, while still propagating meaningful updates.

  • Rounding of advertised bandwidth: You can round cumulative bandwidth values to the nearest operator-defined increment before they are advertised. This increases consistency, and avoids oscillations caused by minor fluctuations.

  • Policy-based outbound actions: You can apply route policies that take specific actions-such as modifying BGP communities or AS-path attributes-based on the bandwidth advertised to the peer. This enables automated, policy-driven responses to bandwidth changes and supports advanced routing and dynamic traffic engineering.


How policy-based cumulative bandwidth advertisements work

Summary

Administrators use route policies to select specific prefixes for cumulative bandwidth advertisement. The policy then defines how bandwidth is summed. It either aggregates effective bandwidth across all eBGP multipath routes or, in domain boundary scenarios, sums only local link bandwidth.

Workflow

These stages describe the policy-based cumulative bandwidth advertisement process:

  1. Defining targeted prefixes: The administrator creates a route policy that matches specific prefixes which should participate in cumulative bandwidth advertisement.

  2. Attaching the policy to BGP multipath computation: The router attaches the route policy to the relevant BGP instances, ensuring those policies are consulted during multipath route calculation.

  3. Determining the basis for bandwidth summation: The BGP process uses policy instructions to aggregate either the effective bandwidth of all eBGP multipaths or, in domain boundary scenarios, sums only the local link bandwidth for each path.

    • Default (effective bandwidth): The router sums the effective bandwidth of each eBGP multipath, a flexible value that can itself be influenced by other policy criteria (such as combining local and received bandwidths).

    • Link-bandwidth option (domain boundaries): The administrator can override the default and instruct the router to aggregate only the local link-bandwidth of each path. This approach ensures that local load balancing considers both received and local bandwidth. However, cumulative bandwidth advertisements to other domains are restricted to local changes, which prevents destabilizing updates triggered by changes in remote parts of the network.

  4. If suppression is configured, BGP compares the new cumulative bandwidth with the last advertised value. If the change is below the configured threshold, the update is suppressed and not advertised.

    Only significant changes for selected prefixes or domains are advertised to neighbors.


Configuring policy-based cumulative bandwidth advertisement in BGP

These sections describe how to configure each aspect of policy-based cumulative bandwidth advertisement in BGP.


Configure selective cumulation

Enable selective cumulation so that cumulative bandwidth is advertised only for specific BGP prefixes, based on operator-defined policies.

Procedure

1.

Define a route-policy that matches the BGP prefixes for which you want to enable cumulative bandwidth advertisement.

Example:

Router(config)# route-policy mp_rpl
Router(config-rpl)# if community matches-any (1:1) then
Router(config-rpl-if)# set multipath advertise cumulative-bandwidth
Router(config-rpl-if)# else
Router(config-rpl-else)# pass
Router(config-rpl-else)# endif
Router(config-rpl)# end-policy
2.

Apply the route policy to selectively advertise cumulative bandwidth to BGP neighbors.

Example:

Router(config)# router bgp 1
Router(config-bgp)# maximum-paths ebgp 16 selective route-policy mp_rpl bestpath-only
Router(config-bgp)# neighbor 192.0.2.1
Router(config-bgp-nbr)# ebgp-send-extcommunity-dmz cumulative

The bestpath-only keyword optimizes multipath computation when you only need to customize bandwidth cumulation and suppression. Without bestpath-only , any bandwidth change forces BGP to walk all paths to evaluate cumulation and suppression for a prefix.

3.

Use the show bgp command to verify if selective cumulation is enabled.

Example:

Router# show bgp 10.1.0.0

BW cumulation enabled
Paths: (2 available, best #1)
Path #1: Received by speaker 0
10.3.0.4 from 10.3.0.7 (10.3.3.3)
  Community: 1:1
Path #2: Received by speaker 0
10.4.0.4 from 10.4.0.4 (10.3.3.3)
   Community: 1:1

In this example, cumulation is enabled because the route has matched the community 1:1.


Configure effective bandwidth

Configure how BGP calculates effective bandwidth for UCMP routing.

Effective bandwidth impacts route selection in UCMP by assigning appropriate weights to each route.

Procedure

1.

Create a route-policy specifying how the effective bandwidth should be calculated for each route.

You can use local link bandwidth, received bandwidth, or a function (multiplication or division) of both. You can also apply a scaling factor.

  • To use local link bandwidth:

    Router# configure
    Router(config)# route-policy effective-bw
    Router(config-rpl)# set effective-bandwidth install value link-bandwidth
    
  • To use received bandwidth:

    Router# configure
    Router(config)# route-policy effective-bw
    Router(config-rpl)# set effective-bandwidth install value received-bandwidth
    
  • To use a function with scaling:

    Router# configure
    Router(config)# route-policy effective-bw
    Router(config-rpl)# set effective-bandwidth install value function (link-bandwidth * received-bandwidth)
    Router(config-rpl)# set effective-bandwidth install value / 12500000000

    12500000000 is the minimum interface LBW in a bundle interface (100 Gps = 1.25 x 10^10 byte/s)

2.

Use the show bgp command to verify if effective bandwidth is configured.

Example:

Router# show bgp 10.0.0.0/8
Path #1: Received by speaker 0
10.1.0.1 from 10.1.0.1 (10.1.1.1)
  Community: 1:1
  Extended community: LB:23456:399999991.808 
  Eff-bw: Link-BW times Received-BW, BW factor 0.000000
Path #2: Received by speaker 0
10.2.0.2 from 10.2.0.2 (10.1.1.1)
  Community: 1:1
  Extended community: LB:23456:399999991.808 
  Eff-bw: Link-BW times Received-BW, BW factor 8.000000e-11
3.

Use the show route command to verify the path weight assignment in RIB.

Example:

Router# show route 10.0.0.0/8
10.1.0.1, from 10.1.0.1, BGP external, BGP multi path
      Route metric is 0, Wt is 800000000

In this sample output, the Wt (weight) value is derived from the effective bandwidth calculation as specified in the policy.

Effective bandwidth = (Received-bandwidth * link-bandwidth ∗ number of PHY for each bundle) / link-bandwidth. For example,

Received BW = 400G
Link-bandwidth = 200000000
Number of PHY in bundle = 2
Effective BW = 400G * 2 = 800G

The bandwidth value in Kbps should be used as the path weight in the RIB. If the bandwidth is greater than 4,294,967,040, it is scaled down, so the path weight in the RIB no longer matches the effective bandwidth calculated by BGP.


Procedure

1.

Create a route-policy to direct BGP to cumulate bandwidth using only the local link bandwidth of each eBGP path.

Example:

Router(config)# route-policy mp_rpl
Router(config-rpl)# set multipath advertise cumulative-bandwidth link-bandwidth
Router(config-rpl)# end-policy
2.

Use the show bgp neighbors command to verify that only local link bandwidth is being used for cumulative bandwidth calculation.

Example:

Router# show bgp neighbors 10.3.0.4 | inc band
DMZ-link bandwidth is 200000000 Kb/s
Router# show bgp neighbors 10.3.0.5 | inc band
DMZ-link bandwidth is 200000000 Kb/s

3.

Verify that the sum of local DMZ-link bandwidths are cumulated and advertised for multipath BGP.

Example:

Router# show bgp 10.0.0.0/8
Paths: (1 available, best #1)
  Path #1: Received by speaker 0
  10.1.0.2 from 10.1.0.2 (10.2.2.2)
      Community: 1:1
      Extended community: LB:23456:399999991.808 

Configure suppression of insignificant bandwidth changes

Suppress the advertisement of cumulative bandwidth changes that are below a specified threshold, ensuring only significant changes are sent to BGP peers.

Procedure

Create a route-policy that enables cumulative bandwidth advertisement and specifies a suppression threshold (delta value). You can configure suppression for link-bandwidth, received-bandwidth, or effective bandwidth. Different thresholds can be set for each type.

  • Example: (Received bandwidth)
    Router# configure
    Router(config)# route-policy supr1
    Router(config-rpl)# set multipath advertise cumulative-bw suppress received-bandwidth delta-value 100
    Router(config-rpl)# exit
  • Example: (Link bandwidth)
    Router# configure
    Router(config)# route-policy supr1
    Router(config-rpl)# set multipath advertise cumulative-bandwidth suppress link-bandwidth delta-value 500
    Router(config-rpl)# exit
  • Example: (Effective bandwidth)
    Router# configure
    Router(config)# route-policy supr1
    Router(config-rpl)# set multipath advertise cumulative-bandwidth suppress delta-value 190000000
    Router(config-rpl)# set multipath advertise cumulative-bandwidth suppress delta-value *125
    Router(config-rpl)# exit

    In the effective bandwidth example, the threshold is calculated as 190,000,000 * 125.

    The delta-value setting applies to all combinations of effective bandwidth type and cumulation type.

Note
  • Suppression of bandwidth changes takes effect only when cumulation is enabled.

  • Suppression applies to all prefixes selected by the multipath policy.

  • The suppression threshold is global per prefix, not per neighbor.

  • The link-bandwidth or received-bandwidth delta-value applies only when using the effective bandwidth function with cumulative bandwidth.


Configure advertised bandwidth rounding to the nearest multiple

Standardize BGP-advertised bandwidth by rounding each value to the nearest configured multiple, maintaining operational consistency and supporting interoperability with peers or hardware that require specific increments (for example, 100G, 200G).

Before you begin

  • Identify the rounding multiple required for your network environment (for example, 10000000000).

  • Ensure that a route-policy for the BGP neighbor is created and available or ready to be created.

Procedure

Set the advertised bandwidth to round to the nearest specified multiple.

Example:

Router# route-policy nbr-outbnd-plcy
Router(config-rpl)# set bandwidth round-to-nearest multiple 10000000000 floor
Router(config-rpl)# end-policy
  • ceiling rounds up to the next multiple.

  • floor rounds down.

  • If neither is specified, system default behavior applies.


Configure outbound policy actions based on advertised bandwidth

Set up a BGP outbound route-policy that applies actions such as setting communities or AS path prepending, based on the value of the bandwidth being advertised to a BGP neighbor.

This configuration enables you to use the bandwidth value as a condition in outbound route-policies. Actions can be triggered if the bandwidth is less than, equal to, or greater than a specific value. This approach is useful for dynamic signaling or marking of routes according to available bandwidth.

Procedure

Use the if bandwidth command to specify the bandwidth threshold and the actions to take.

Example:

Router# route-policy ngbr-outbnd-polcy
Router(config-rpl)# if bandwidth ge 40000000000 then
Router(config-rpl-if)# set community 123:400 additive
Router(config-rpl-if)# elseif bandwidth le 10000000000 then
Router(config-rpl-elseif)# as-path prepend 65000 4
Router(config-rpl-elseif)# set community 123:100 additive
Router(config-rpl-elseif)# endif

In this example, a community is set when the bandwidth is greater than or equal to 40000000000. If the bandwidth is less than or equal to 10000000000, the AS path is prepended and a different community is set.