summaryrefslogtreecommitdiff
path: root/mgmtd
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2024-05-07 02:37:52 +0000
committerChristian Hopps <chopps@labn.net>2024-05-07 03:34:41 +0000
commita727cc7d76442fc0e2801a4c51f557ced2a0709f (patch)
tree6aecb8c659f2999dfe0e5d463c2aecb1516993d2 /mgmtd
parentc54bc7a8dd7c0a07b8897d790c2c6fdabec76d82 (diff)
mgmtd: rpc and action handling both should use rpc map.
The previous idea of using config xpath registrations for actions b/c the config is the subject of the action is sub-optimal. It splits handling of YANG "actions" (Action and RPCs) between 2 different registartion maps for the same category of functionality. Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'mgmtd')
-rw-r--r--mgmtd/mgmt_fe_adapter.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/mgmtd/mgmt_fe_adapter.c b/mgmtd/mgmt_fe_adapter.c
index b20e36ce0c..fc1bde0b38 100644
--- a/mgmtd/mgmt_fe_adapter.c
+++ b/mgmtd/mgmt_fe_adapter.c
@@ -1443,20 +1443,14 @@ static void fe_adapter_handle_rpc(struct mgmt_fe_session_ctx *session,
return;
}
- if (snode->nodetype == LYS_RPC)
- clients =
- mgmt_be_interested_clients(xpath,
- MGMT_BE_XPATH_SUBSCR_TYPE_RPC);
- else if (snode->nodetype == LYS_ACTION)
- clients =
- mgmt_be_interested_clients(xpath,
- MGMT_BE_XPATH_SUBSCR_TYPE_CFG);
- else {
+ if (snode->nodetype != LYS_RPC && snode->nodetype != LYS_ACTION) {
fe_adapter_send_error(session, req_id, false, -EINVAL,
"Not an RPC or action path: %s", xpath);
return;
}
+ clients = mgmt_be_interested_clients(xpath,
+ MGMT_BE_XPATH_SUBSCR_TYPE_RPC);
if (!clients) {
__dbg("No backends implement xpath: %s for txn-id: %" PRIu64
" session-id: %" PRIu64,