public
public copied to clipboard
routing-policy conditions call-policy and match ordering
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions is a container and has no definition for ordering of the items inside it. Yang has no field to assert ordering for nodes in a container, nor is there any explicit description of the order of processing between a call-policy and conditions should be processed in the description of routing-policy.
So a user can specify a statement with:
call-policy
match prefix
action reject route
But this could be executed by a system in any order. We say an action is predicated on a match condition, so that ordering is defined. But call-policy could be processed before or after the match with obviously different outcomes.
I suggest we define that a condition
may only contain call-policy or match+action leafs. This does not limit the expression of policies and removes this ambiguous scenario where a condition could have both a call-policy and match leaves.
Thoughts?