]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: add zebra container to rib model
authorChirag Shah <chirag@cumulusnetworks.com>
Mon, 16 Mar 2020 19:09:26 +0000 (12:09 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Tue, 12 May 2020 21:31:37 +0000 (14:31 -0700)
Add zebra container in rib tree.
When displaying RIB under vrf, it displays
zebra module name.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
yang/frr-zebra.yang
zebra/zebra_nb.c
zebra/zebra_nb.h
zebra/zebra_nb_config.c
zebra/zebra_nb_state.c

index 40d5ddc72b354766a6c87c75c1eb8c591bd9c5c1..22fb391e5c42ba7fdd43638bbad348b46acf8a91 100644 (file)
@@ -654,6 +654,7 @@ module frr-zebra {
              description
                 "The route's prefix.";
           }
+
           list route-entry {
             key "protocol";
             leaf protocol {
@@ -2069,10 +2070,12 @@ module frr-zebra {
   augment "/frr-vrf:lib/frr-vrf:vrf" {
     description
       "Extends VRF model with Zebra-related parameters.";
-    uses ribs;
+    container zebra {
+      uses ribs;
+    }
   }
 
-  augment "/frr-vrf:lib/frr-vrf:vrf/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop" {
+  augment "/frr-vrf:lib/frr-vrf:vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop" {
     uses frr-nh:frr-nexthop-operational;
   }
 
index 1f3468d6dcb405df33e32777d215eedec9fc052b..aad60aac6a598663c5b771738be82069b26642bc 100644 (file)
@@ -420,221 +420,221 @@ const struct frr_yang_module_info frr_zebra_info = {
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib",
                        .cbs = {
-                               .create = lib_vrf_ribs_rib_create,
-                               .destroy = lib_vrf_ribs_rib_destroy,
-                               .get_next = lib_vrf_ribs_rib_get_next,
-                               .get_keys = lib_vrf_ribs_rib_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_lookup_entry,
+                               .create = lib_vrf_zebra_ribs_rib_create,
+                               .destroy = lib_vrf_zebra_ribs_rib_destroy,
+                               .get_next = lib_vrf_zebra_ribs_rib_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route",
                        .cbs = {
-                               .get_next = lib_vrf_ribs_rib_route_get_next,
-                               .get_keys = lib_vrf_ribs_rib_route_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_route_lookup_entry,
+                               .get_next = lib_vrf_zebra_ribs_rib_route_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_route_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_route_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/prefix",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/prefix",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_prefix_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_prefix_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry",
                        .cbs = {
-                               .get_next = lib_vrf_ribs_rib_route_route_entry_get_next,
-                               .get_keys = lib_vrf_ribs_rib_route_route_entry_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_route_route_entry_lookup_entry,
+                               .get_next = lib_vrf_zebra_ribs_rib_route_route_entry_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/protocol",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/protocol",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_protocol_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_protocol_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/instance",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/instance",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_instance_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_instance_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/distance",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/distance",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_distance_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_distance_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/metric",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/metric",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_metric_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_metric_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/tag",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/tag",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_tag_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_tag_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/selected",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/selected",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_selected_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_selected_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/installed",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/installed",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_installed_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_installed_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/failed",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/failed",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_failed_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_failed_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/queued",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/queued",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_queued_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_queued_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-flags",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/internal-flags",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_internal_flags_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-status",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/internal-status",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_internal_status_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/uptime",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/uptime",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_uptime_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group",
                        .cbs = {
-                               .get_next = lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_next,
-                               .get_keys = lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry,
+                               .get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/name",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/name",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop",
                        .cbs = {
-                               .get_next = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next,
-                               .get_keys = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry,
+                               .get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry",
                        .cbs = {
-                               .get_next = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next,
-                               .get_keys = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys,
-                               .lookup_entry = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry,
+                               .get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next,
+                               .get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys,
+                               .lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem,
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem,
                        }
                },
                {
@@ -680,9 +680,9 @@ const struct frr_yang_module_info frr_zebra_info = {
                        }
                },
                {
-                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight",
+                       .xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight",
                        .cbs = {
-                               .get_elem = lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem,
+                               .get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem,
                        }
                },
                {
index 09a9edff99a4b3ee9b84c8a13e5d06b04d5cb9b7..b880dea35781eafccbe80515adb46106ae1f749a 100644 (file)
@@ -155,165 +155,172 @@ struct yang_data *lib_interface_zebra_state_remote_vtep_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *lib_interface_zebra_state_mcast_group_get_elem(
        struct nb_cb_get_elem_args *args);
-int lib_vrf_ribs_rib_create(struct nb_cb_create_args *args);
-int lib_vrf_ribs_rib_destroy(struct nb_cb_destroy_args *args);
-const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_get_keys(struct nb_cb_get_keys_args *args);
-const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args);
-const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args);
+int lib_vrf_zebra_ribs_rib_create(struct nb_cb_create_args *args);
+int lib_vrf_zebra_ribs_rib_destroy(struct nb_cb_destroy_args *args);
+const void *lib_vrf_zebra_ribs_rib_get_next(struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_get_keys(struct nb_cb_get_keys_args *args);
 const void *
-lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_protocol_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_protocol_v6_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_vrf_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_distance_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args);
+const void *
+lib_vrf_zebra_ribs_rib_route_get_next(struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args);
+const void *
+lib_vrf_zebra_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_metric_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_protocol_get_elem(
+       struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_protocol_v6_get_elem(
+       struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_tag_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_route_vrf_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_distance_get_elem(
+       struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_selected_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_route_metric_get_elem(struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_installed_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_route_tag_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_selected_get_elem(
+       struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_installed_get_elem(
+       struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_failed_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_route_failed_get_elem(struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_queued_get_elem(struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_internal_flags_get_elem(
+lib_vrf_zebra_ribs_rib_route_queued_get_elem(struct nb_cb_get_elem_args *args);
+struct yang_data *lib_vrf_zebra_ribs_rib_route_internal_flags_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_internal_status_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_internal_status_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_uptime_get_elem(struct nb_cb_get_elem_args *args);
-const void *
-lib_vrf_ribs_rib_route_nexthop_group_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_nexthop_group_get_keys(
+lib_vrf_zebra_ribs_rib_route_uptime_get_elem(struct nb_cb_get_elem_args *args);
+const void *lib_vrf_zebra_ribs_rib_route_nexthop_group_get_next(
+       struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_route_nexthop_group_get_keys(
        struct nb_cb_get_keys_args *args);
-const void *lib_vrf_ribs_rib_route_nexthop_group_lookup_entry(
+const void *lib_vrf_zebra_ribs_rib_route_nexthop_group_lookup_entry(
        struct nb_cb_lookup_entry_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_nexthop_group_name_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_nexthop_group_name_get_elem(
        struct nb_cb_get_elem_args *args);
-const void *lib_vrf_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_next(
+const void *
+lib_vrf_zebra_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_next(
        struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_keys(
+int lib_vrf_zebra_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_keys(
        struct nb_cb_get_keys_args *args);
-int lib_vrf_ribs_rib_create(struct nb_cb_create_args *args);
-int lib_vrf_ribs_rib_destroy(struct nb_cb_destroy_args *args);
-const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_get_keys(struct nb_cb_get_keys_args *args);
-const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args);
-const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args);
+int lib_vrf_zebra_ribs_rib_create(struct nb_cb_create_args *args);
+int lib_vrf_zebra_ribs_rib_destroy(struct nb_cb_destroy_args *args);
+const void *lib_vrf_zebra_ribs_rib_get_next(struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_get_keys(struct nb_cb_get_keys_args *args);
 const void *
-lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args);
-struct yang_data *
-lib_vrf_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args);
+lib_vrf_zebra_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args);
 const void *
-lib_vrf_ribs_rib_route_route_entry_get_next(struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_route_entry_get_keys(
+lib_vrf_zebra_ribs_rib_route_get_next(struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args);
+const void *
+lib_vrf_zebra_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args);
+struct yang_data *
+lib_vrf_zebra_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args);
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_get_next(
+       struct nb_cb_get_next_args *args);
+int lib_vrf_zebra_ribs_rib_route_route_entry_get_keys(
        struct nb_cb_get_keys_args *args);
-const void *lib_vrf_ribs_rib_route_route_entry_lookup_entry(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_lookup_entry(
        struct nb_cb_lookup_entry_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_protocol_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_protocol_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_instance_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_instance_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_distance_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_distance_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_metric_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_metric_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_tag_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_tag_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_selected_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_selected_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_installed_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_installed_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_failed_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_failed_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_queued_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_queued_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem(
+struct yang_data *
+lib_vrf_zebra_ribs_rib_route_route_entry_internal_flags_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem(
+struct yang_data *
+lib_vrf_zebra_ribs_rib_route_route_entry_internal_status_get_elem(
        struct nb_cb_get_elem_args *args);
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_uptime_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem(
        struct nb_cb_get_elem_args *args);
-const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_next(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_next(
        struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_keys(
        struct nb_cb_get_keys_args *args);
-const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
        struct nb_cb_lookup_entry_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
        struct nb_cb_get_elem_args *args);
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
        struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
        struct nb_cb_get_keys_args *args);
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
        struct nb_cb_lookup_entry_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
        struct nb_cb_get_elem_args *args);
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next(
        struct nb_cb_get_next_args *args);
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys(
        struct nb_cb_get_keys_args *args);
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry(
        struct nb_cb_lookup_entry_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
        struct nb_cb_get_elem_args *args);
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
        struct nb_cb_get_elem_args *args);
 
 #ifdef __cplusplus
index e7780e5338825a463301127310d2b9e0db06c69e..a6aa72cf480d744465f1f246615bae544c909bd6 100644 (file)
@@ -1217,9 +1217,9 @@ int lib_interface_zebra_bandwidth_destroy(struct nb_cb_destroy_args *args)
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib
  */
-int lib_vrf_ribs_rib_create(struct nb_cb_create_args *args)
+int lib_vrf_zebra_ribs_rib_create(struct nb_cb_create_args *args)
 {
        struct vrf *vrf;
        afi_t afi = AFI_IP;
@@ -1261,7 +1261,7 @@ int lib_vrf_ribs_rib_create(struct nb_cb_create_args *args)
        return NB_OK;
 }
 
-int lib_vrf_ribs_rib_destroy(struct nb_cb_destroy_args *args)
+int lib_vrf_zebra_ribs_rib_destroy(struct nb_cb_destroy_args *args)
 {
        if (args->event != NB_EV_APPLY)
                return NB_OK;
index 83252f5929ecefd922a4d2e194a4084fe4a712eb..0abc48eb4603b0f4050a1ca9fa618a15a4911740 100644 (file)
@@ -148,11 +148,11 @@ lib_interface_zebra_state_mcast_group_get_elem(struct nb_cb_get_elem_args *args)
        return yang_data_new_ipv4(args->xpath, &vxlan_info->mcast_grp);
 }
 
-const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args)
+const void *lib_vrf_zebra_ribs_rib_get_next(struct nb_cb_get_next_args *args)
 {
-       struct vrf *vrf = (struct vrf *)parent_list_entry;
+       struct vrf *vrf = (struct vrf *)args->parent_list_entry;
        struct zebra_router_table *zrt =
-               (struct zebra_router_table *)list_entry;
+               (struct zebra_router_table *)args->list_entry;
 
        struct zebra_vrf *zvrf;
        afi_t afi;
@@ -160,7 +160,7 @@ const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args)
 
        zvrf = zebra_vrf_lookup_by_id(vrf->vrf_id);
 
-       if (list_entry == NULL) {
+       if (args->list_entry == NULL) {
                afi = AFI_IP;
                safi = SAFI_UNICAST;
 
@@ -177,23 +177,25 @@ const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args)
        return zrt;
 }
 
-int lib_vrf_ribs_rib_get_keys(struct nb_cb_get_keys_args *args)
+int lib_vrf_zebra_ribs_rib_get_keys(struct nb_cb_get_keys_args *args)
 {
-       const struct zebra_router_table *zrt = list_entry;
+       const struct zebra_router_table *zrt = args->list_entry;
 
-       keys->num = 2;
+       args->keys->num = 2;
 
-       snprintf(keys->key[0], sizeof(keys->key[0]), "%s",
+       snprintf(args->keys->key[0], sizeof(args->keys->key[0]), "%s",
                 "frr-zebra:ipv4-unicast");
        /* TODO: implement key[0], afi-safi identityref */
-       snprintf(keys->key[1], sizeof(keys->key[1]), "%" PRIu32, zrt->tableid);
+       snprintf(args->keys->key[1], sizeof(args->keys->key[1]), "%" PRIu32,
+                zrt->tableid);
 
        return NB_OK;
 }
 
-const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args)
+const void *
+lib_vrf_zebra_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args)
 {
-       struct vrf *vrf = (struct vrf *)parent_list_entry;
+       struct vrf *vrf = (struct vrf *)args->parent_list_entry;
        struct zebra_vrf *zvrf;
        afi_t afi = AFI_IP;
        safi_t safi = SAFI_UNICAST;
@@ -204,14 +206,15 @@ const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args)
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route
  */
-const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args)
+const void *
+lib_vrf_zebra_ribs_rib_route_get_next(struct nb_cb_get_next_args *args)
 {
-       const struct zebra_router_table *zrt = parent_list_entry;
-       const struct route_node *rn = list_entry;
+       const struct zebra_router_table *zrt = args->parent_list_entry;
+       const struct route_node *rn = args->list_entry;
 
-       if (list_entry == NULL)
+       if (args->list_entry == NULL)
                rn = route_top(zrt->table);
        else
                rn = srcdest_route_next((struct route_node *)rn);
@@ -219,28 +222,24 @@ const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args)
        return rn;
 }
 
-int lib_vrf_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args)
+int lib_vrf_zebra_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args)
 {
-       const struct route_node *rn = list_entry;
-       char dst_buf[PREFIX_STRLEN];
-       const struct prefix *dst_p;
+       const struct route_node *rn = args->list_entry;
 
-       srcdest_rnode_prefixes(rn, &dst_p, NULL);
-       keys->num = 1;
-       strlcpy(keys->key[0], prefix2str(dst_p, dst_buf, sizeof(dst_p)),
-               sizeof(keys->key[0]));
+       args->keys->num = 1;
+       prefix2str(&rn->p, args->keys->key[0], sizeof(args->keys->key[0]));
 
        return NB_OK;
 }
 
 const void *
-lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args)
+lib_vrf_zebra_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args)
 {
-       const struct zebra_router_table *zrt = parent_list_entry;
+       const struct zebra_router_table *zrt = args->parent_list_entry;
        struct prefix p;
        struct route_node *rn;
 
-       yang_str2prefix(keys->key[0], &p);
+       yang_str2prefix(args->keys->key[0], &p);
 
        rn = route_node_lookup(zrt->table, &p);
 
@@ -253,35 +252,35 @@ lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args)
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/prefix
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/prefix
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args)
+lib_vrf_zebra_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args)
 {
-       const struct route_node *rn = list_entry;
+       const struct route_node *rn = args->list_entry;
 
-       return yang_data_new_prefix(xpath, &rn->p);
+       return yang_data_new_prefix(args->xpath, &rn->p);
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry
  */
-const void *
-lib_vrf_ribs_rib_route_route_entry_get_next(struct nb_cb_get_next_args *args)
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_get_next(
+       struct nb_cb_get_next_args *args)
 {
        struct route_entry *re = NULL;
 
        return re;
 }
 
-int lib_vrf_ribs_rib_route_route_entry_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_get_keys(
        struct nb_cb_get_keys_args *args)
 {
        /* TODO: implement me. */
        return NB_OK;
 }
 
-const void *lib_vrf_ribs_rib_route_route_entry_lookup_entry(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_lookup_entry(
        struct nb_cb_lookup_entry_args *args)
 {
        /* TODO: implement me. */
@@ -289,9 +288,9 @@ const void *lib_vrf_ribs_rib_route_route_entry_lookup_entry(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/protocol
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/protocol
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_protocol_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_protocol_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -299,9 +298,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_protocol_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/instance
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/instance
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_instance_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_instance_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -309,9 +308,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_instance_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/distance
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/distance
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_distance_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_distance_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -319,9 +318,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_distance_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/metric
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/metric
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_metric_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_metric_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -329,9 +328,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_metric_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/tag
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/tag
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_tag_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_tag_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -339,9 +338,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_tag_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/selected
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/selected
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_selected_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_selected_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -349,9 +348,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_selected_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/installed
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/installed
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_installed_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_installed_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -359,9 +358,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_installed_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/failed
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/failed
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_failed_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_failed_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -369,9 +368,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_failed_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/queued
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/queued
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_queued_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_queued_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -379,9 +378,11 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_queued_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-flags
+ * XPath:
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/internal-flags
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem(
+struct yang_data *
+lib_vrf_zebra_ribs_rib_route_route_entry_internal_flags_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -389,9 +390,11 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-status
+ * XPath:
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/internal-status
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem(
+struct yang_data *
+lib_vrf_zebra_ribs_rib_route_route_entry_internal_status_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -399,9 +402,9 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/uptime
+ * XPath: /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/uptime
  */
-struct yang_data *lib_vrf_ribs_rib_route_route_entry_uptime_get_elem(
+struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -409,23 +412,24 @@ struct yang_data *lib_vrf_ribs_rib_route_route_entry_uptime_get_elem(
 }
 
 /*
- * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group
+ * XPath:
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group
  */
-const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_next(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_next(
        struct nb_cb_get_next_args *args)
 {
        /* TODO: implement me. */
        return NULL;
 }
 
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_keys(
        struct nb_cb_get_keys_args *args)
 {
        /* TODO: implement me. */
        return NB_OK;
 }
 
-const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
+const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
        struct nb_cb_lookup_entry_args *args)
 {
        /* TODO: implement me. */
@@ -434,10 +438,10 @@ const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/name
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/name
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -446,17 +450,17 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop
  */
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
        struct nb_cb_get_next_args *args)
 {
        /* TODO: implement me. */
        return NULL;
 }
 
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
        struct nb_cb_get_keys_args *args)
 {
        /* TODO: implement me. */
@@ -464,7 +468,7 @@ int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_ke
 }
 
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
        struct nb_cb_lookup_entry_args *args)
 {
        /* TODO: implement me. */
@@ -473,10 +477,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_ent
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -485,10 +489,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_ge
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -497,10 +501,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_el
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -509,10 +513,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_ge
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -521,10 +525,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -533,10 +537,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_ge
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -545,17 +549,17 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry
  */
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next(
        struct nb_cb_get_next_args *args)
 {
        /* TODO: implement me. */
        return NULL;
 }
 
-int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys(
+int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys(
        struct nb_cb_get_keys_args *args)
 {
        /* TODO: implement me. */
@@ -563,7 +567,7 @@ int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_l
 }
 
 const void *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry(
        struct nb_cb_lookup_entry_args *args)
 {
        /* TODO: implement me. */
@@ -572,10 +576,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -584,10 +588,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -596,10 +600,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -608,10 +612,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -620,10 +624,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -632,10 +636,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -644,10 +648,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -656,10 +660,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */
@@ -668,10 +672,10 @@ lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_el
 
 /*
  * XPath:
- * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight
+ * /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight
  */
 struct yang_data *
-lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
+lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
        struct nb_cb_get_elem_args *args)
 {
        /* TODO: implement me. */