Cisco Systems IOS XR Laptop User Manual


 
Implementing Routing Policy on Cisco IOS XR Software
Information About Implementing Routing Policy
RC-214
Cisco IOS XR Routing Configuration Guide
route-policy drop-everything
drop
end-policy
The name serves as a handle for binding the policy to protocols. To remove a policy definition, issue the
no route-policy name command.
Policies may also refer to other policies such that common blocks of policy can be reused. This reference
to other policies is accomplished by using the apply statement, as shown in the following example:
route-policy check-as-1234
if as-path passes-through ‘1234’ then
apply drop-everything
else
pass
endif
end-policy
The apply statement indicates that the policy drop-everything should be executed if the route under
consideration passed through autonomous system 1234 before it is received. If a route that has
autonomous system 1234 in its AS path is received, the route is dropped; otherwise, the route is accepted
without modification. This policy is an example of a hierarchical policy. Thus, the semantics of the apply
statement are just as if the applied policy were cut and pasted into the applying policy:
route-policy check-as-1234-prime
if as-path passes-through '1234' then
drop
else
pass
endif
end-policy
You may have as many levels of hierarchy as desired. However, many levels may be difficult to maintain
and understand.
Parameterization
In addition to supporting reuse of policies using the apply statement, policies can be defined that allow
for parameterization of some of the attributes. The following example shows how to define a
parameterized policy named param-example. In this case, the policy takes one parameter, $mytag.
Parameters always begin with a dollar sign and consist otherwise of any alphanumeric characters.
Parameters can be substituted into any attribute that takes a parameter.
In the following example, a 16-bit community tag is used as a parameter:
route-policy param-example ($mytag)
set community (1234:$mytag) additive
end-policy
This parameterized policy can then be reused with different parameterizations, as shown in the following
example. In this manner, policies that share a common structure but use different values in some of their
individual statements can be modularized. For details on which attributes can be parameterized, see the
individual attribute sections.