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

PDF

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

Conditional matching on transitive and non-transitive bandwidth extended communities in BGP RPL

Want to summarize with AI?

Log in

Describes conditional matching techniques for bandwidth extended communities in BGP route policies to enable granular traffic control.


Conditional matching on transitive and non-transitive bandwidth extended communities in RPL is a BGP feature that allows route policies to evaluate and act on specific extended community bandwidth values.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Conditional matching on transitive and non-transitive bandwidth extended communities in BGP RPL

Release 25.1.1

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

The feature introduces support for conditional matching on transitive and non-transitive bandwidth extended communities in RPL. You can use this capability to create precise BGP routing policies that evaluate and act on specific bandwidth values, enabling effective and intelligent traffic engineering.

The feature introduces these changes:

CLI:

Conditional matching support on extended communities is introduced in RPL.

YANG Data Models:

  • Cisco-IOS-XR-um-route-policy-cfg

  • Cisco-IOS-XR-policy-repository-cfg

(see GitHub, YANG Data Models Navigator)

RPL now supports conditional matching on extended communities, including transitive and non-transitive bandwidth types, enabling more granular BGP route control. With this capability, you can define precise BGP routing policies that respond to bandwidth attributes, ensuring effective and intelligent traffic engineering. The feature is useful in multipath, multivendor, and large-scale environments.

For information about transitive-bandwidth support and topology for BGP path selection using UCMP, see BGP DMZ transitive-bandwidth extended community support and Topology for BGP path selection using UCMP.


Configure conditional matching on transitive and non-transitive bandwidths

To configure BGP route policies that conditionally match and act on specific bandwidth extended community values for intelligent traffic engineering.

This task enables granular BGP route control by defining policies that respond to bandwidth attributes. It is useful in environments requiring precise traffic engineering based on network bandwidth, particularly in multipath, multivendor, and large-scale deployments.

Procedure

1.

Run the extcommunity-set command to configure the transitive-bandwidth extended community definition.

Example:

Router#config
Router(config)#extcommunity-set transitive-bandwidth LB10G
Router(config-ext)#65000:1250000000
Router(config-ext)#end-set
2.

Run the route-policy command to create a policy that conditionally matches BGP routes based on the transitive-bandwidth extended community, for use in either inbound or outbound direction.

Example:

The policy checks if a route includes a transitive-bandwidth extended community that matches any entry in the predefined set LB10G . If it matches, the policy sets the standard BGP community 65000:10 on the route. You can use this community for route filtering, and policy-based forwarding decisions.

Router(config)#route-policy MATCH_LB_10G
Router(config-rpl)#if extcommunity transitive-bandwidth matches-any LB10G then
Router(config-rpl-if)#set community (65000:10)
Router(config-rpl-if)#endif 
Router(config-rpl)#done 
Router(config-rpl)#end-policy
3.

Run the show running-config command to verify the running configuration.

Example:

extcommunity-set transitive-bandwidth LB10G
  65000:1250000000
end-set
!
route-policy MATCH_LB_10G
  if extcommunity transitive-bandwidth matches-any LB10G then
    set community (65000:10)
  endif
  done
end-policy
!
4.

Run the router bgp command to enable BGP for the ASN, and apply the configured route policy to inbound IPv4 unicast updates from the specified neighbor.

Example:

In the example configuration, BGP is set up for ASN 65000. A route policy MATCH_LB_10G is applied to inbound BGP updates received from neighbors 10.0.0.0/24.

Router(config)#router bgp 65000
Router(config-bgp)#address-family ipv4 unicast 
Router(config-bgp-af)#maximum-paths ibgp8
Router(config-bgp)#neighbor 10.0.0.0/24
Router(config-bgp-nbr)#remote-as 65000
Router(config-bgp-nbr)#address-family ipv4 unicast 
Router(config-bgp-nbr-af)#route-policy MATCH_LB_10G in
5.

Run the show running-config command to verify the running configuration.

Example:

router bgp 65000
 address-family ipv4 unicast
  maximum-paths ibgp 8
 !
 neighbor 10.0.0.0/24
  remote-as 65000
  address-family ipv4 unicast
   route-policy MATCH_LB_10G in
  !
 !
!
6.

Run the show bgp ipv4 unicast command to verify the multiple paths and extended community attributes for load-balancing bandwidth advertisement.

Example:

In the sample output, Path 1 includes community value 65000:10 , which indicates that the route-policy matched and applied the configured BGP community. Path 2 does not include this community, indicating that the route-policy did not match the condition.

Router#show bgp ipv4 unicast 192.168.1.0/24
Fri Apr  4 08:49:24.609 UTC
BGP routing table entry for 192.168.1.0/24
Versions:
  Process           bRIB/RIB   SendTblVer
  Speaker                 11           11
Last Modified: Apr  4 08:49:13.608 for 00:00:11
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 10) from 10.0.0.1 (10.0.0.1)
      Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 11
      Community: 65000:10
      Extended community: LB_TRANS:65000:10000000 
                          (LB transitive     AS:bytes/sec:65000:1250000000.0)
  Path #2: Received by speaker 0
  Not advertised to any peer
  Local
    10.0.0.2 (metric 10) from 10.0.0.2 (10.0.0.2)
      Origin incomplete, metric 0, localpref 100, valid, internal, multipath
      Received Path ID 0, Local Path ID 0, version 0
      Extended community: LB_TRANS:65000:20000000 
                          (LB transitive     AS:bytes/sec:65000:2500000000.0)