summaryrefslogtreecommitdiff
path: root/mgmtd
diff options
context:
space:
mode:
Diffstat (limited to 'mgmtd')
-rw-r--r--mgmtd/mgmt_be_adapter.c12
-rw-r--r--mgmtd/mgmt_be_adapter.h1
-rw-r--r--mgmtd/mgmt_main.c10
3 files changed, 22 insertions, 1 deletions
diff --git a/mgmtd/mgmt_be_adapter.c b/mgmtd/mgmt_be_adapter.c
index 72dff4b062..0d678452f7 100644
--- a/mgmtd/mgmt_be_adapter.c
+++ b/mgmtd/mgmt_be_adapter.c
@@ -35,6 +35,7 @@
/* ---------- */
const char *mgmt_be_client_names[MGMTD_BE_CLIENT_ID_MAX + 1] = {
+ [MGMTD_BE_CLIENT_ID_ZEBRA] = "zebra",
#ifdef HAVE_STATICD
[MGMTD_BE_CLIENT_ID_STATICD] = "staticd",
#endif
@@ -73,7 +74,16 @@ static const char *const *be_client_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {
#endif
};
-static const char *const *be_client_oper_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {};
+static const char *const zebra_oper_xpaths[] = {
+ "/frr-interface:lib/interface",
+ "/frr-vrf:lib/vrf/frr-zebra:zebra",
+ "/frr-zebra:zebra",
+ NULL,
+};
+
+static const char *const *be_client_oper_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {
+ [MGMTD_BE_CLIENT_ID_ZEBRA] = zebra_oper_xpaths,
+};
/*
* We would like to have a better ADT than one with O(n) comparisons
diff --git a/mgmtd/mgmt_be_adapter.h b/mgmtd/mgmt_be_adapter.h
index 2afac949f5..96e807f6c4 100644
--- a/mgmtd/mgmt_be_adapter.h
+++ b/mgmtd/mgmt_be_adapter.h
@@ -30,6 +30,7 @@ enum mgmt_be_client_id {
#ifdef HAVE_STATICD
MGMTD_BE_CLIENT_ID_STATICD,
#endif
+ MGMTD_BE_CLIENT_ID_ZEBRA,
MGMTD_BE_CLIENT_ID_MAX
};
#define MGMTD_BE_CLIENT_ID_MIN 0
diff --git a/mgmtd/mgmt_main.c b/mgmtd/mgmt_main.c
index b58b93c71d..793161dc32 100644
--- a/mgmtd/mgmt_main.c
+++ b/mgmtd/mgmt_main.c
@@ -207,6 +207,16 @@ static const struct frr_yang_module_info *const mgmt_yang_modules[] = {
* NOTE: Always set .ignore_cbs true for to avoid validating
* backend configuration northbound callbacks during loading.
*/
+ &(struct frr_yang_module_info){ .name = "frr-zebra",
+ .ignore_cbs = true },
+ /*
+ * TO support LYD_LYB parsing we have to include all the modules that
+ * backend clients include.
+ */
+ &(struct frr_yang_module_info){ .name = "frr-affinity-map",
+ .ignore_cbs = true },
+ &(struct frr_yang_module_info){ .name = "frr-zebra-route-map",
+ .ignore_cbs = true },
#ifdef HAVE_STATICD
&frr_staticd_info,
#endif