public icon indicating copy to clipboard operation
public copied to clipboard

routing-policy conditions call-policy and match ordering

Open dplore opened this issue 8 months ago • 0 comments

/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?

dplore avatar Jun 15 '24 05:06 dplore