]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/northbound.h
lib: add support for YANG lists with mixed config and state data
[mirror_frr.git] / lib / northbound.h
index 9963e14a7e8e57aa2ee2a1d0a2e4566e1575a440..68bce5b3985599e653baae191b2e23eea377fe2d 100644 (file)
@@ -349,11 +349,16 @@ struct nb_node {
        /* Pointer to the nearest parent list, if any. */
        struct nb_node *parent_list;
 
+       /* Flags. */
+       uint8_t flags;
+
 #ifdef HAVE_CONFD
        /* ConfD hash value corresponding to this YANG path. */
        int confd_hash;
 #endif
 };
+/* The YANG container or list contains only config data. */
+#define F_NB_NODE_CONFIG_ONLY 0x01
 
 struct frr_yang_module_info {
        /* YANG module name. */
@@ -393,6 +398,8 @@ enum nb_error {
 /* Northbound clients. */
 enum nb_client {
        NB_CLIENT_CLI = 0,
+       NB_CLIENT_CONFD,
+       NB_CLIENT_SYSREPO,
 };
 
 /* Northbound configuration. */
@@ -433,6 +440,16 @@ DECLARE_HOOK(nb_notification_send, (const char *xpath, struct list *arguments),
 extern int debug_northbound;
 extern struct nb_config *running_config;
 
+/*
+ * Create a northbound node for all YANG schema nodes.
+ */
+void nb_nodes_create(void);
+
+/*
+ * Delete all northbound nodes from all YANG schema nodes.
+ */
+void nb_nodes_delete(void);
+
 /*
  * Find the northbound node corresponding to a YANG data path.
  *