Explains how RPL enables reusable policy blocks, route attribute matching, and explicit control over route acceptance, rejection, and modification for routing protocols such as BGP, IS-IS, and OSPF.
A routing policy language (RPL) is a configuration language that
-
enables modular, reusable policy blocks for configuration management
-
supports matching and modifying route attributes for protocols such as BGP, IS-IS, and OSPF, and
-
allows explicit control over route acceptance, rejection, or modification within policy definitions.
Routing policy language for modular policy design
| Feature Name |
Release Information |
Feature Description |
|---|---|---|
| Routing Policy Language |
Release 25.1.1 |
Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*) *This feature is supported on Cisco 8011-4G24Y4H-I routers. |
| Routing Policy Language |
Release 24.4.1 |
Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100, K100])(select variants only); Modular Systems (8800 [LC ASIC: P100])(select variants only*) This feature simplifies large-scale routing configurations by enabling modular policy building, reducing the complexity and maintenance of configuration information. RPL enables policy creation using independently defined, parameterized blocks that can be reused across different policies, reducing redundancy. *This feature is supported on:
|
Routing Policy Language (RPL) is designed to support large-scale routing configurations through a modular and structured policy framework. Unlike traditional route maps, access lists, and prefix lists, RPL enables policies to be built from reusable, independently maintained components. These components can be combined to form complete policies, reducing configuration duplication and simplifying maintenance.
RPL also supports parameterization, allowing policies that share the same structure but differ in specific values to be implemented as a single reusable policy with variable inputs. This approach improves scalability and consistency across deployments.
The language introduces the concept of sets, which are containers used for route attribute matching and setting operations. RPL supports prefix sets, community sets, AS path sets, and extended community sets. Sets group related routing data such as prefixes, community values, or AS path expressions. For small value groupings, inline sets can be defined directly within a policy, eliminating the need for separately named sets.
Policy decisions, such as accepting or rejecting routes, are explicitly defined within the policy. RPL uses Boolean logic (AND, OR, NOT) to construct conditional expressions based on matching operations. These conditions are evaluated using structured control flow statements such as if, elseif, and else, allowing precise definition of policy behavior.