|
Attribute
|
Description
|
clause
|
A part of a policy rule which (1) defines a predicate for matching routes and
(2) defines an action which permits or denies a route and optionally performs
attribute manipulation. A single clause itself acts as a filter, though
multiple clauses can be combined to define more complex filters. Any number of
this attribute may be present within an infilter or
outfilter attribute, including zero. If there are no instances of
this attribute present, no routes can possibly be matched and thus all routes
will be denied. Each clause attribute must have exactly one of
each of the precedence, predicate, and
action subattributes.
|
clause.precedence
|
The precedence of this clause with respect to all other clauses in the same
filter. If there are multiple instances of clause, they must have
precedence values which begin with 1 and increase incrementally by
one. When a route is examined for filtering, the predicate of each clause is
applied to it, in order of precedence, to see if it matches. If a match is
found, all further clauses are ignored. If all clauses are checked and no
matches are found, the route is denied. (Thus it follows that if there are no
clauses, the route is denied.) Exactly one of this attribute must be present
within the clause attribute. The actual clause
attributes need not appear in any particular order in the DML code itself.
|
clause.predicate
|
A predicate which can be applied to a route. The predicate may be composed of
any number of smaller "atomic" predicates which apply to individual attributes
of the route. The route must satisfy every atom in order to satisfy the full
predicate. If there are no atoms, then all routes satisfy the predicate.
Exactly one of this attribute must be present within the clause
attribute.
|
clause.predicate.atom
|
A predicate which can be applied to an attribute of a route. The predicate
indicates which attribute it applies to, and includes a regular expression for
matching a canonical string form of that attribute. Any number of this
attribute may be present within the clause.predicate attribute.
Refer to Table 4 for usage notes.
|
clause.predicate.atom.attribute
|
A route attribute (which is its destination address or a path attribute) to
which the atomic predicate applies. Exactly one of this attribute must be
present within the clause.predicate.atom attribute. The most
common values for this attribute are nhi_path (which is like AS
path except that it uses the NHI equivalents of AS numbers) and
nlri_nhi (the NHI equivalent of the destination IP prefix). Refer
to Table 4 for usage notes.
|
clause.predicate.atom.matcher
|
An expression for matching a canonical string form of an attribute. It is
often, though not always, a regular expression. Exactly one of this attribute
must be present within the clause.predicate.atom attribute. Refer
to Table 4 for usage notes.
|
clause.action
|
An action to be applied to a route. The action must contain a primary
action, which is to either permit or deny a route. If the primary
action is to permit, then it may also define any number of additional
atomic actions for performing attribute manipulation on the route.
Exactly one of this attribute must be present within the
clause attribute.
|
clause.action.primary
|
The primary action to apply to a route (whether to permit or deny it). It's
value must be either permit or deny. Exactly one of
this attribute must be present within the clause.action attribute.
|
clause.action.atom
|
An action which can be applied to the path attribute of a route. The action
indicates which path attribute it applies to, the type of action that is to be
taken, and any number of values which are to be used during the application of
the action. The meaning of each value depends upon the type of the action.
Any number of this attribute may be present within the
clause.action attribute, unless the value of
clause.action.primary is deny, in which case this
attribute must be omitted.
|
clause.action.atom.attribute
|
A path attribute to which the atomic action applies. Exactly one of this
attribute must be present within the clause.action.atom attribute.
The most common values of this attribute are nhi_path and
local_pref.
|
clause.action.atom.type
|
A type of action to be taken when modifying the path attribute of a
route. Exactly one of this attribute must be present within the
clause.action.atom attribute. Typical values of this
attribute are set (for setting the LocalPref, for
example) and prepend (for prepending an NHI address to
the NHI path, for example).
|
clause.action.atom.value
|
A value to be used when applying an action to a path attribute. The meaning of
the value depends upon the type of the action specified in
clause.action.atom.type. For example, when prepending to the NHI
path, there should be exactly one value attribute, and its value
should be an NHI address. When setting the LocalPref, there should be exactly
one value attribute, and its value should be a positive integer.
Any number of this attribute, including zero, may be present within the
clause.action.atom attribute.
|