diff options
Diffstat (limited to 'mgmtd')
| -rw-r--r-- | mgmtd/mgmt_be_adapter.c | 12 | ||||
| -rw-r--r-- | mgmtd/mgmt_be_adapter.h | 1 | ||||
| -rw-r--r-- | mgmtd/mgmt_main.c | 10 |
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 |
