Notification error in confd

Hello folks,
Me again(have been spamming a lot over last few days :frowning: ).
That said, I find this community really responsive. Thanks for helping out till now!

Coming back to the question, I am trying to forward notification generated by southbound interfaces to confd.

The southbound interfaces talk in a different protocol (lets say XML) rather than confds internal protocol/serialization. So, we have written a converter that transforms the XML to confd_tag_value_t array. We have been using this for quite long time in data providers and in handling RPC. So, the converter itself does not have any issue.

Now, for the notification, consider below yang file:

module notif {
notification new-route {
description “Notification for new route”;
leaf name {
description “Route name”;
type string;

We convert the XML representation of this to confd_tag_value_t.

> <notif:new-route><notif:name>New Notif</notif:name></notif:new-route>

Error in Confd logs:

devel-c Failed to send notification for stream agent_notification: /name: Invalid tagpath

So, what exactly does confd expect in this case. In other mentioned scenarios as well, we do not send the top node, but then confd never complains in those cases.

For now, fixed by manually appending ‘new-route’ in front of ‘/name’.