Syncing multiple paths that each have callpoints

I have two config leafs on separate paths that cannot be linked by a leafref, but I want to keep them in sync via some callpoint handler logic.

Both have c callpoints, and what I would like to do is have an update to one trigger an update to the other and vice versa.

Is there a way to update another leaf through a callpoint handler without triggering its registered callpoints?

So an update to leaf A would cause a change in B, but it wouldn’t get into an infinite loop where B then tries to update A, which would update B, then A, B, etc.

I believe you want to look into the “transaction-hook” functionality. See

  • ConfD UG “Transformations, Hooks and Hidden Data”
  • the tailf_yang_extensions(3) man page under “tailf:callpoint” and “tailf:transaction-hook”
  • the example set under examples.confd/intro/11-c_hooks (or python/11-hooks or java/11-hooks)