summaryrefslogtreecommitdiff
path: root/lib/northbound_confd.c
diff options
context:
space:
mode:
authorChirag Shah <chirag@nvidia.com>2020-10-03 15:34:33 -0700
committerChirag Shah <chirag@nvidia.com>2020-10-05 13:15:59 -0700
commitf63f5f1947c3b4a99e97494198520f03fb6b063e (patch)
tree8c1071614c685dc9d8a68322ecd6cf0ce85b7e37 /lib/northbound_confd.c
parent002bac8b5bc229f892c66e3c13c4c058a2b10e27 (diff)
*: add errmsg to nb rpc
Display human readable error message in northbound rpc transaction failure. In case of vtysh nb client, the error message will be displayed to user. Testing: bharat# clear evpn dup-addr vni 1002 ip 11.11.11.11 Error type: generic error Error description: Requested IP's associated MAC aa:aa:aa:aa:aa:aa is still in duplicate state Signed-off-by: Chirag Shah <chirag@nvidia.com>
Diffstat (limited to 'lib/northbound_confd.c')
-rw-r--r--lib/northbound_confd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/northbound_confd.c b/lib/northbound_confd.c
index 1f480f3d02..c1cb0fc11d 100644
--- a/lib/northbound_confd.c
+++ b/lib/northbound_confd.c
@@ -1068,6 +1068,7 @@ static int frr_confd_action_execute(struct confd_user_info *uinfo,
struct yang_data *data;
confd_tag_value_t *reply;
int ret = CONFD_OK;
+ char errmsg[BUFSIZ] = {0};
/* Getting the XPath is tricky. */
if (kp) {
@@ -1115,7 +1116,9 @@ static int frr_confd_action_execute(struct confd_user_info *uinfo,
}
/* Execute callback registered for this XPath. */
- if (nb_callback_rpc(nb_node, xpath, input, output) != NB_OK) {
+ if (nb_callback_rpc(nb_node, xpath, input, output, errmsg,
+ sizeof(errmsg))
+ != NB_OK) {
flog_warn(EC_LIB_NB_CB_RPC, "%s: rpc callback failed: %s",
__func__, xpath);
ret = CONFD_ERR;