Configuring Walkup for Route Filters to Improve Operational Efficiency
Use the walkup feature if you have concerns about policy performance because of split route filters across multiple policy terms. The walkup feature enables the consolidation of route filters under one policy term.
If policy statements have been split into multiple terms because of the default route filter behavior, the route filter walkup feature allows you to consolidate multiple route filters into one policy statement term. By default, Junos OS evaluates multiple route filters in a policy statement term by first finding the longest match prefix and then evaluating the conditions attached to the route filter, such as the prefix range. If the route filter condition is false (for example, the prefix is not in the specified range), then the whole term is false, even if there are potentially true shorter route filter prefixes. The walkup feature alters this default behavior, locally or globally.
The route filter walkup feature is used anywhere multiple route filters are used in
a policy statement. The walkup option is supported in the main routing instance at the [edit policy-options]
hierarchy level and in logical systems at the [edit logical-systems
policy-options]
hierarchy level.
Before you begin configuring route filter walkup, be sure you have:
A properly configured routing policy or set of routing policies
A need to consolidate multiple route filter terms into fewer routing policy terms
Route filter walkup can be configured in two different ways. You can configure the walkup
option globally at the [edit policy-options default route-filter]
hierarchy level or in logical systems at the [edit logical-systems policy-options default
route-filter]
hierarchy level. When you configure the walkup
option globally,
you alter the policy route filter behavior in every policy statement. Instead of the default
policy statement behavior (if the longest match route filter is false, then the term is false),
the walkup
option changes this behavior globally (to “walk up” from
the longest match route filter to less specific, and if any is true, then the term is true).
If you configure the walkup
option globally, you can still override it locally
on a per-routing-policy basis. So if you have enabled walkup
globally, you can
override it in a routing policy by configuring the no-walkup
option statement at
the [edit policy-options policy-statement default route-filter]
hierarchy level.
The no-walkup
option restores the default route filter behavior locally for this
policy statement.
At the [edit policy-options default route-filter]
global level, the
only option is the walkup
statement because the default behavior globally is “no
walkup.” However, for an individual policy statement at the [edit policy-options
policy-statement default route-filter]
hierarchy level, you can configure either the walkup
or no-walkup
option statement. In this way, at the local level, you
can control whether the policy statement performs a walkup (with the walkup
statement
configured) or no walkup (with the no-walkup
statement configured. This gives the
user maximum control over the walkup
option
You configure the walkup feature globally with:
user@host> set policy-options defaults route-filter walkup
Alternatively, configure the walkup feature globally in a logical system with:
user@host> set logical-systems logical-system-name policy-options defaults route-filter walkup
You configure the walkup or no-walkup feature locally in a policy statement with:
user@host> set policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
Alternatively, configure the walkup feature locally in a logical system with:
user@host> set logical-systems logical-system-name policy-options policy-statement policy-statement-name defaults route-filter [ no-walkup | walkup ]
Route filter walkup behavior can be complex when the statements are configured at the global and local level at the same time. Table 1 shows the behavior of a policy statement with all six possible combinations of the walkup option when you configure the feature both globally and locally.
Case: |
Global Configuration |
Local Configuration |
Result |
---|---|---|---|
1 |
(none) |
(none) |
The device does not perform a walkup for any policy (default operation). |
2 |
(none) |
|
The device performs a walkup for this policy. |
3 |
(none) |
|
The device does not perform a walkup for any policy (default operation). |
4 |
|
(none) |
The device performs a walkup for all policies. |
5 |
|
|
The device performs a walkup for all policies. |
6 |
|
|
The device does not perform a walkup for this policy only. |
Each row forms a possible use case numbered 1 through 6. Each walkup case is configured as follows:
Case #1: This is a trivial configuration for backward compatibility. No route filter walkup is enabled either globally or locally. The device behaves exactly as it did before the feature was introduced. No route filter walkup occurs in any policy.
Case #2: Route filter walkup is not enabled globally, but is enabled locally for a specific policy named
RouteFilter-Case2
. Route filter walkup occurs in this policy.To configure the route filter walkup locally for a specific policy:
Enable the walkup feature locally for this policy statement.
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 defaults route-filter walkup
Configure policy terms locally (walkup applies to all terms in this policy).
[edit policy-options] user@host# set policy-statement RouteFilter-Case2 term ...
Apply the policy statement to a routing protocol.
Case #3: Route filter
walkup
is not enabled globally, butno-walkup
is enabled locally for a specific policy namedRouteFilter-Case3
. (This case is not particularly helpful, because no walkup takes place in all policies by default, but does make local behavior explicit, even if walkup is enabled globally in the future.)To configure the route filter no-walkup locally for a specific policy:
Enable the
no-walkup
feature locally for this policy statement.[edit policy-options] user@host# set policy-statement RouteFilter-Case3 defaults route-filter no-walkup
Configure policy terms locally (
no-walkup
applies to this policy).[edit policy-options] user@host# set policy-statement RouteFilter-Case3 term ...
Apply the policy statement to a routing protocol.
Case #4: Route filter
walkup
is enabled globally, but not enabled locally for a specific policy namedRouteFilter-Case4
. Because of the global configuration, route filterwalkup
occurs in this policy.To configure the route filter walkup globally for a device:
Enable the walkup feature globally for this device.
[edit policy-options] user@host# set defaults route-filter walkup
Note:Global
walkup
, in contrast to thewalkup
orno-walkup
statements configured locally in a policy statement, is configured at the[edit policy-options defaults]
or[edit logical-systems logical-system-name policy-options defaults]
hierarchy level and applies to all policies.Configure policy statement
RouteFilter-Case4
and terms locally (walkup applies to this policy).[edit policy-options] user@host# set policy-statement RouteFilter-Case4 term ...
Apply the policy statement to a routing protocol.
Case #5: Route filter
walkup
is enabled globally, and enabled locally for a specific policy namedRouteFilter-Case5
. Although this configuration might appear redundant (walkup enabled globally as well as locally), this ensures that route filter walkup occurs in this policy even if route filter walkup is deleted at the global level.To configure the route filter walkup globally for a device and locally for a specific policy:
Enable the
walkup
feature globally for this device.[edit policy-options] user@host# set defaults route-filter walkup
Note:Global walkup is configured at the
[edit policy-options defaults]
or[edit logical-systems logical-system-name policy-options defaults]
hierarchy level and applies to all policies.Configure policy statement
RouteFilter-Case5
and enablewalkup
locally (walkup
applies to this policy).[edit policy-options] user@host# set policy-statement Route-Filter-Case5 defaults route-filter walkup
Configure policy statement
RouteFilter-Case5
and terms locally (walkup applies to this policy).[edit policy-options] user@host# set policy-statement RouteFilter-Case5 term ...
Apply the policy statement to a routing protocol.
Case #6: Route filter
walkup
is enabled globally, but overridden locally withno-walkup
for a specific policy namedRouteFilter-Case6
. Because of the local configuration, no route filter walkup occurs in this policy. This case is useful to make sure that a local policy still functions exactly as before global walkup was enabled.To configure the route filter walkup globally for a device and the no-walkup feature locally for a specific policy:
Enable the walkup feature globally for this device.
[edit policy-options] user@host# set defaults route-filter walkup
Note:Global walkup is configured at the
[edit policy-options defaults]
or[edit logical-systems logical-system-name policy-options defaults]
hierarchy level and applies to all policies.Configure policy statement
RouteFilter-Case6
and disable walkup locally with theno-walkup
statement (no walkup is performed in this policy).[edit policy-options] user@host# set policy-statement Route-Filter-Case6 defaults route-filter walkup
Configure policy statement
RouteFilter-Case6
and terms locally.[edit policy-options] user@host# set policy-statement RouteFilter-Case6 term ...
Apply the policy statement to a routing protocol.
Keep in mind that a policy statement does nothing until it is applied as an import or export policy for the routing protocol itself. For BGP, this can be done at the global, group or neighbor level.