I want to get a notification when the leaf-list is added or modified.
So, I defined a callpoint as shown below. But i’m hitting the following
error when I tried the “interfaces” config. How do I fix this?
devel-c LEAF_LIST_AS_LEAF is not supported for hooks - callpoint routes_cp
list routes {
tailf:callpoint "routes_cp";
leaf route_id {
type uint32;
}
leaf-list interfaces {
type string;
}
}
From the coned_lib_dp(3) man page for the confd_set_daemon_flags() function:
CONFD_DAEMON_FLAG_LEAF_LIST_AS_LEAF
...
Note
This flag is not supported for hooks, i.e. hook callbacks will always treat leaf-lists as lists -
if the flag is set for a hook, it will cause an error on callback invocation for a leaf-list.
Look for a tailf:callpoint “some_name” { tailf:transaction/set-hook; … } statement.
I’ve tried the ‘set-hook’ , I don’t see the error anymore but I don’t see the callbacks getting
called either.
list routes {
tailf:callpoint routes_cp {
tailf:set-hook subtree;
}
leaf route_id {
type uint32;
}
leaf-list interfaces {
type string;
}
}
Also, the callpoint registrations seems to be successful.
$ show confd-state internal callpoints callpoint routes_cp
ID ID NAME ERROR PATH FILE ERROR LOWER UPPER DEFAULT ID NAME ERROR
---------------------------------------------------------------------------------------------
routes_cp 7 cli-mod - - - -