sysrepo::S_Vals const vals,
time_t timestamp,
void* private_data) {
- LOG_INFO(netconf_logger, NETCONF_INFO).arg("======== notification received ========");
+ string n;
+ switch (notification_type) {
+ case SR_EV_NOTIF_REALTIME:
+ n = "SR_EV_NOTIF_REALTIME";
+ break;
+ case SR_EV_NOTIF_REPLAY:
+ n = "SR_EV_NOTIF_REPLAY";
+ break;
+ case SR_EV_NOTIF_REPLAY_COMPLETE:
+ n = "SR_EV_NOTIF_REPLAY_COMPLETE";
+ break;
+ case SR_EV_NOTIF_STOP:
+ n = "SR_EV_NOTIF_STOP";
+ break;
+ case SR_EV_NOTIF_SUSPENDED:
+ n = "SR_EV_NOTIF_SUSPENDED";
+ break;
+ case SR_EV_NOTIF_RESUMED:
+ n = "SR_EV_NOTIF_RESUMED";
+ break;
+ }
+
+ stringstream s;
for (size_t i(0); i < vals->val_cnt(); ++i) {
- LOG_INFO(netconf_logger, NETCONF_INFO).arg(vals->val(i)->xpath());
+ if (i != 0) {
+ s << ", ";
+ }
+ s << vals->val(i)->to_string();
}
- }
- void event_notif_tree(sysrepo::S_Session session,
- sr_ev_notif_type_t const notif_type,
- libyang::S_Data_Node const notification,
- time_t timestamp,
- void* private_data) {
- LOG_INFO(netconf_logger, NETCONF_INFO).arg("======== notification tree received ========");
- LOG_INFO(netconf_logger, NETCONF_INFO).arg(notification->print_mem(LYD_XML, LYP_FORMAT));
+ LOG_INFO(netconf_logger, NETCONF_NOTIFICATION_RECEIVED)
+ .arg(n)
+ .arg(service_pair_.first)
+ .arg(s.str());
}
};
return agent.event_notif(session, notification_type, path, vals,
timestamp, nullptr);
};
- auto event_notif_tree_callback =
- [=](sysrepo::S_Session session,
- sr_ev_notif_type_t const notification_type,
- libyang::S_Data_Node const notification, time_t timestamp) {
- NetconfAgentCallback agent(service_pair);
- return agent.event_notif_tree(session, notification_type,
- notification, timestamp, nullptr);
- };
try {
+ // The alternative event_notif_subscribe_tree() might expose more data
+ // as S_Data_Node if needed.
subscription->event_notif_subscribe(model.c_str(),
event_notif_callback);
- subscription->event_notif_subscribe_tree(model.c_str(),
- event_notif_tree_callback);
} catch (const std::exception& ex) {
ostringstream msg;
msg << "event notification subscription for model " << model <<
extern const isc::log::MessageID NETCONF_GET_CONFIG = "NETCONF_GET_CONFIG";
extern const isc::log::MessageID NETCONF_GET_CONFIG_FAILED = "NETCONF_GET_CONFIG_FAILED";
extern const isc::log::MessageID NETCONF_GET_CONFIG_STARTED = "NETCONF_GET_CONFIG_STARTED";
-extern const isc::log::MessageID NETCONF_INFO = "NETCONF_INFO";
extern const isc::log::MessageID NETCONF_LOG_CHANGE_FAIL = "NETCONF_LOG_CHANGE_FAIL";
extern const isc::log::MessageID NETCONF_MODULE_INSTALL = "NETCONF_MODULE_INSTALL";
extern const isc::log::MessageID NETCONF_MODULE_MISSING_ERR = "NETCONF_MODULE_MISSING_ERR";
extern const isc::log::MessageID NETCONF_MODULE_MISSING_WARN = "NETCONF_MODULE_MISSING_WARN";
extern const isc::log::MessageID NETCONF_MODULE_REVISION_ERR = "NETCONF_MODULE_REVISION_ERR";
extern const isc::log::MessageID NETCONF_MODULE_REVISION_WARN = "NETCONF_MODULE_REVISION_WARN";
+extern const isc::log::MessageID NETCONF_NOTIFICATION_RECEIVED = "NETCONF_NOTIFICATION_RECEIVED";
extern const isc::log::MessageID NETCONF_RUN_EXIT = "NETCONF_RUN_EXIT";
extern const isc::log::MessageID NETCONF_SET_CONFIG = "NETCONF_SET_CONFIG";
extern const isc::log::MessageID NETCONF_SET_CONFIG_FAILED = "NETCONF_SET_CONFIG_FAILED";
"NETCONF_GET_CONFIG", "got configuration from %1 server: %2",
"NETCONF_GET_CONFIG_FAILED", "getting configuration from %1 server failed: %2",
"NETCONF_GET_CONFIG_STARTED", "getting configuration from %1 server",
- "NETCONF_INFO", "%1",
"NETCONF_LOG_CHANGE_FAIL", "Netconf configuration change logging failed: %1",
"NETCONF_MODULE_INSTALL", "Sysrepo (un)installs a module: %1 (revision %2)",
"NETCONF_MODULE_MISSING_ERR", "Missing essential module %1 in sysrepo",
"NETCONF_MODULE_MISSING_WARN", "Missing module %1 in sysrepo",
"NETCONF_MODULE_REVISION_ERR", "Essential module %1 does NOT have the right revision: expected %2, got %3",
"NETCONF_MODULE_REVISION_WARN", "Module %1 does NOT have the right revision: expected %2, got %3",
+ "NETCONF_NOTIFICATION_RECEIVED", "Received notification of type %1 for module %1: %2",
"NETCONF_RUN_EXIT", "application is exiting the event loop",
"NETCONF_SET_CONFIG", "set configuration to %1 server: %2",
"NETCONF_SET_CONFIG_FAILED", "setting configuration to %1 server failed: %2",
extern const isc::log::MessageID NETCONF_GET_CONFIG;
extern const isc::log::MessageID NETCONF_GET_CONFIG_FAILED;
extern const isc::log::MessageID NETCONF_GET_CONFIG_STARTED;
-extern const isc::log::MessageID NETCONF_INFO;
extern const isc::log::MessageID NETCONF_LOG_CHANGE_FAIL;
extern const isc::log::MessageID NETCONF_MODULE_INSTALL;
extern const isc::log::MessageID NETCONF_MODULE_MISSING_ERR;
extern const isc::log::MessageID NETCONF_MODULE_MISSING_WARN;
extern const isc::log::MessageID NETCONF_MODULE_REVISION_ERR;
extern const isc::log::MessageID NETCONF_MODULE_REVISION_WARN;
+extern const isc::log::MessageID NETCONF_NOTIFICATION_RECEIVED;
extern const isc::log::MessageID NETCONF_RUN_EXIT;
extern const isc::log::MessageID NETCONF_SET_CONFIG;
extern const isc::log::MessageID NETCONF_SET_CONFIG_FAILED;
This informational message indicates that Netconf is trying to get the
configuration from a Kea server.
-% NETCONF_INFO %1
-Generic NETCONF message
-
% NETCONF_LOG_CHANGE_FAIL Netconf configuration change logging failed: %1
The warning message indicates that the configuration change logging
encountered an unexpected condition. Details of it will be logged.
right revision in the sysrepo repository. The name, expected and
available revisions of the module are printed.
+% NETCONF_NOTIFICATION_RECEIVED Received notification of type %1 for module %1: %2
+This informational message logs any YANG notification that has been signaled
+by the server, sent to kea-netconf which then was forwarded to subscribed
+clients. To achieve this, kea-netconf subscribes itself as a client to all
+notifications for the configured module.
+
% NETCONF_RUN_EXIT application is exiting the event loop
This is a debug message issued when the Netconf application exits its
event loop. This is a normal step during kea-netconf shutdown.