The article introduces an expected commit check failed behavior while providing conflicted prefix segment identifier (SID) and node SID to prefixes by configuring policies.
The same behavior can be seen in both junos and junos-evo , no matter the policies are applied or not .
user@Router# set policy-options policy-statement test1 term 1 from route-filter 192.168.0.1/32 exact user@Router# set policy-options policy-statement test1 term 1 then prefix-segment index 1000 user@Router# set policy-options policy-statement test1 term 1 then prefix-segment node-segment user@Router# set policy-options policy-statement test1 term 1 then accept user@Router# set policy-options policy-statement test2 term 1 from route-filter 192.168.0.1/32 exact user@Router# set policy-options policy-statement test2 term 1 then prefix-segment index 2000 user@Router# set policy-options policy-statement test2 term 1 then prefix-segment node-segment user@Router# set policy-options policy-statement test2 term 1 then accept user@Router# commit error: RPD policy: Prefix 192.168.0.1/32 has a segment 1000 algo 0 via policy conflicting with segment 2000 algo 0 error: configuration check-out failed error: commit cleanup failed for EVO
Most policy options are gracious in resolving other kinds of conflicts. But for prefix segment conflicts, the draft draft-ietf-spring-conflict-resolution-05.txt was explicit in that conflicts should be prevented at the source.
3.8. Minimizing the occurence of conflicts Conflicts in SID advertisements are always the result of a misconfiguration. Conflicts may occur either in the set of advertisements originated by a single node or between advertisements originated by different nodes. Conflicts which occur within the set of advertisements (PFX and SRMS) originated by a single node SHOULD be prevented by configuration validation on the originating node.