aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/openconfig/openconfig_interfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/openconfig/openconfig_interfaces.c')
-rw-r--r--src/plugins/openconfig/openconfig_interfaces.c62
1 files changed, 61 insertions, 1 deletions
diff --git a/src/plugins/openconfig/openconfig_interfaces.c b/src/plugins/openconfig/openconfig_interfaces.c
index e401e07..a1f66bb 100644
--- a/src/plugins/openconfig/openconfig_interfaces.c
+++ b/src/plugins/openconfig/openconfig_interfaces.c
@@ -24,6 +24,7 @@
#include <string.h>
#include <sysrepo/xpath.h>
#include <sysrepo/values.h>
+#include <sysrepo.h>
#define XPATH_SIZE 2000
@@ -209,7 +210,7 @@ int openconfig_interface_mod_cb(
__attribute__((unused)) sr_notif_event_t event,
__attribute__((unused)) void *private_ctx)
{
- SRP_LOG_INF("Module subscribe: %s", module_name);
+ SRP_LOG_DBG("Interface module subscribe: %s", module_name);
return SR_ERR_OK;
}
@@ -876,3 +877,62 @@ int openconfig_interfaces_interfaces_interface_subinterfaces_subinterface_oc_ip_
return SR_ERR_OK;
}
+const xpath_t oc_interfaces_xpaths[OC_INTERFACES_SIZE] = {
+ {
+ .xpath = "openconfig-interfaces",
+ .method = MODULE,
+ .datastore = SR_DS_RUNNING,
+ .cb.mcb = openconfig_interface_mod_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ //.opts = SR_SUBSCR_EV_ENABLED | SR_SUBSCR_APPLY_ONLY
+ .opts = SR_SUBSCR_EV_ENABLED | SR_SUBSCR_APPLY_ONLY | SR_SUBSCR_CTX_REUSE
+ },
+ {
+ .xpath = "/openconfig-interfaces:interfaces/interface/config",
+ .method = XPATH,
+ .datastore = SR_DS_RUNNING,
+ .cb.scb = openconfig_interfaces_interfaces_interface_config_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ //.opts = SR_SUBSCR_DEFAULT
+ .opts = SR_SUBSCR_CTX_REUSE
+ },
+ {
+ .xpath = "/openconfig-interfaces:interfaces/interface/state",
+ .method = GETITEM,
+ .datastore = SR_DS_RUNNING,
+ .cb.gcb = openconfig_interfaces_interfaces_interface_state_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ .opts = SR_SUBSCR_CTX_REUSE
+ },
+ {
+ .xpath = "/openconfig-interfaces:interfaces/interface/subinterfaces/subinterface/state",
+ .method = GETITEM,
+ .datastore = SR_DS_RUNNING,
+ .cb.gcb = openconfig_interfaces_interfaces_interface_subinterfaces_subinterface_state_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ .opts = SR_SUBSCR_CTX_REUSE
+ },
+ {
+ .xpath = "/openconfig-interfaces:interfaces/interface/subinterfaces/subinterface/openconfig-if-ip:ipv4/openconfig-if-ip:addresses/openconfig-if-ip:address/openconfig-if-ip:config",
+ .method = XPATH,
+ .datastore = SR_DS_RUNNING,
+ .cb.scb = openconfig_interfaces_interfaces_interface_subinterfaces_subinterface_oc_ip_ipv4_oc_ip_addresses_oc_ip_address_oc_ip_config_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ //.opts = SR_SUBSCR_DEFAULT
+ .opts = SR_SUBSCR_CTX_REUSE
+ },
+ {
+ .xpath = "/openconfig-interfaces:interfaces/interface/subinterfaces/subinterface/openconfig-if-ip:ipv4/openconfig-if-ip:addresses/openconfig-if-ip:address/openconfig-if-ip:state",
+ .method = GETITEM,
+ .datastore = SR_DS_RUNNING,
+ .cb.gcb = openconfig_interfaces_interfaces_interface_subinterfaces_subinterface_oc_ip_ipv4_oc_ip_addresses_oc_ip_address_oc_ip_state_cb,
+ .private_ctx = NULL,
+ .priority = 0,
+ .opts = SR_SUBSCR_CTX_REUSE
+ }
+};