I have an action callpoint defined in the yang as below:
container show-link-config {
tailf:alt-name "link config";
tailf:info "Link configuration";
uses link-mode;
}
grouping link-mode {
container show-link-mode {
config false;
tailf:cli-drop-node-name;
tailf:cli-no-keyword; // Used for J-style
tailf:action show-linkmode {
tailf:actionpoint linkModeActPt;
tailf:cli-operational-mode;
tailf:cli-mount-point "show";
tailf:alt-name "mode";
tailf:info "Display link mode";
output {
leaf link-mode {
type string;
tailf:cli-preformatted;
tailf:cli-no-keyword;
}
}
}
}
}
From my daemon, I did this:
// register action callbacks
if ((dctx = confd_init_daemon("mandatory_cndlpd")) == NULL) {
confd_fatal("Failed to initialize confdlib\n");
}
// now register callbacks
memset(&action_cb, 0, sizeof(action_cb));
strcpy(action_cb.actionpoint, link__actionpointid_linkModeActPt);
action_cb.init = init_action;
action_cb.action = do_action;
action_cb.abort = abort_action;
if (confd_register_action_cbs(dctx, &action_cb) != CONFD_OK) {
syslog(LOG_ERR, "%s: confd_register_action_cbs() failed", __FUNCTION__);
}
I can see the command from the CLI as below but with a failure:
root@cavium-thunderx 20:26:39> show link\ config mode
Error: application communication failure
[error][2018-01-09 20:26:42]
root@cavium-thunderx 20:26:42>
log shows below:
<CRIT>: 2018-01-09T20:26:42.9143 cavium-thunderx confd[22358]: - no registration found for callpoint linkModeActPt/action of type=external
<ERR>: 2018-01-09T20:26:42.9145 cavium-thunderx confd[22358]: devel-c no registration found for callpoint linkModeActPt/action of type=external path /link:show-link-config/show-link-mode
<ERR>: 2018-01-09T20:26:42.9148 cavium-thunderx confd[22358]: confd external error when executing action application communication failure
devel.log doesnt show any errors…
Can someone help me understand what I am missing?