mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-24 15:18:12 +00:00
Merge pull request #6531 from chiragshah6/yang_nb5
yang, zebra: redefine nexthop model
This commit is contained in:
commit
a99e4666b4
@ -137,6 +137,13 @@ module frr-nexthop {
|
||||
"Nexthop blackhole types.";
|
||||
}
|
||||
|
||||
typedef nexthop-group-ref {
|
||||
type leafref {
|
||||
path "/frr-nexthop:frr-nexthop-group/frr-nexthop:nexthop-groups/frr-nexthop:name";
|
||||
require-instance false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Common nexthop attributes grouping.
|
||||
*/
|
||||
@ -147,6 +154,7 @@ module frr-nexthop {
|
||||
description
|
||||
"The nexthop type.";
|
||||
}
|
||||
|
||||
leaf vrf {
|
||||
type frr-vrf:vrf-ref;
|
||||
description
|
||||
@ -157,17 +165,20 @@ module frr-nexthop {
|
||||
description
|
||||
"The nexthop gateway address.";
|
||||
}
|
||||
|
||||
leaf interface {
|
||||
type frr-interface:interface-ref;
|
||||
description
|
||||
"The nexthop egress interface.";
|
||||
}
|
||||
|
||||
leaf bh-type {
|
||||
when "../nh-type = 'blackhole'";
|
||||
type blackhole-type;
|
||||
description
|
||||
"A blackhole sub-type, if the nexthop is a blackhole type.";
|
||||
}
|
||||
|
||||
leaf onlink {
|
||||
when "../nh-type = 'ip4-ifindex' or
|
||||
../nh-type = 'ip6-ifindex'";
|
||||
@ -223,6 +234,15 @@ module frr-nexthop {
|
||||
}
|
||||
}
|
||||
|
||||
grouping nexthop-grouping {
|
||||
list nexthop {
|
||||
key "nh-type gateway interface";
|
||||
description
|
||||
"A list of nexthop objects.";
|
||||
uses frr-nexthop-attributes;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Single nexthop grouping.
|
||||
*/
|
||||
@ -230,12 +250,7 @@ module frr-nexthop {
|
||||
container frr-nexthops {
|
||||
description
|
||||
"FRR nexthop object.";
|
||||
list nexthop {
|
||||
key "nh-type gateway interface";
|
||||
description
|
||||
"A list of nexthop objects.";
|
||||
uses frr-nexthop-attributes;
|
||||
}
|
||||
uses nexthop-grouping;
|
||||
}
|
||||
}
|
||||
|
||||
@ -244,11 +259,10 @@ module frr-nexthop {
|
||||
* Container for FRR nexthop group.
|
||||
*/
|
||||
grouping frr-nexthop-grouping {
|
||||
list nexthop-group {
|
||||
list nexthop-groups {
|
||||
key "name";
|
||||
description
|
||||
"A group of nexthops.";
|
||||
|
||||
"List of nexthop groups, each contains group of nexthops";
|
||||
leaf name {
|
||||
type string;
|
||||
description
|
||||
@ -259,23 +273,31 @@ module frr-nexthop {
|
||||
}
|
||||
}
|
||||
|
||||
/* Operational nexthop-group */
|
||||
grouping frr-nexthop-group-operational {
|
||||
container nexthop-group {
|
||||
description
|
||||
"A group of nexthops.";
|
||||
leaf id {
|
||||
type uint32;
|
||||
description
|
||||
"The nexthop-group id.";
|
||||
}
|
||||
|
||||
uses nexthop-grouping;
|
||||
}
|
||||
}
|
||||
|
||||
container frr-nexthop-group {
|
||||
description
|
||||
"A nexthop-group, represented as a list of nexthop objects.";
|
||||
uses frr-nexthop-grouping;
|
||||
}
|
||||
|
||||
typedef nexthop-group-ref {
|
||||
type leafref {
|
||||
require-instance false;
|
||||
path "/frr-nexthop:frr-nexthop-group/frr-nexthop:nexthop-group/frr-nexthop:name";
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Augment weight attributes to nexthop group.
|
||||
*/
|
||||
augment "/frr-nexthop-group/nexthop-group/frr-nexthops/nexthop" {
|
||||
augment "/frr-nexthop-group/nexthop-groups/frr-nexthops/nexthop" {
|
||||
leaf weight {
|
||||
type uint8;
|
||||
description
|
||||
|
@ -316,7 +316,7 @@ module frr-zebra {
|
||||
"Uptime for the route.";
|
||||
}
|
||||
|
||||
uses frr-nh:frr-nexthop-grouping;
|
||||
uses frr-nh:frr-nexthop-group-operational;
|
||||
}
|
||||
|
||||
// End of route-common
|
||||
@ -2074,7 +2074,7 @@ module frr-zebra {
|
||||
}
|
||||
}
|
||||
|
||||
augment "/frr-vrf:lib/frr-vrf:vrf/frr-zebra:zebra/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/nexthop" {
|
||||
uses frr-nh:frr-nexthop-operational;
|
||||
}
|
||||
|
||||
|
@ -558,117 +558,115 @@ const struct frr_yang_module_info frr_zebra_info = {
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group",
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/id",
|
||||
.cbs = {
|
||||
.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,
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_id_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/name",
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/nexthop",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem,
|
||||
.get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_next,
|
||||
.get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_keys,
|
||||
.lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_lookup_entry,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/nh-type",
|
||||
.cbs = {
|
||||
.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,
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/vrf",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_vrf_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/gateway",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_gateway_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/interface",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_interface_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/bh-type",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_bh_type_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/onlink",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_onlink_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem,
|
||||
.get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_get_next,
|
||||
.get_keys = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_get_keys,
|
||||
.lookup_entry = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_lookup_entry,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/id",
|
||||
.cbs = {
|
||||
.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,
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_id_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/label",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_label_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/ttl",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_ttl_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/traffic-class",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_traffic_class_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/duplicate",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_duplicate_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/recursive",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_recursive_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/active",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_active_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/fib",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_fib_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra: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/nexthop/weight",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_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_nexthop_weight_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -713,12 +711,6 @@ const struct frr_yang_module_info frr_zebra_info = {
|
||||
.destroy = lib_route_map_entry_set_action_source_v6_destroy,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = "/frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight",
|
||||
.cbs = {
|
||||
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem,
|
||||
}
|
||||
},
|
||||
{
|
||||
.xpath = NULL,
|
||||
},
|
||||
|
@ -256,75 +256,69 @@ lib_vrf_zebra_ribs_rib_route_route_entry_internal_status_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
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_zebra_ribs_rib_route_route_entry_nexthop_group_get_next(
|
||||
struct nb_cb_get_next_args *args);
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_keys(
|
||||
struct nb_cb_get_keys_args *args);
|
||||
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_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_id_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
const void *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_next(
|
||||
struct nb_cb_get_next_args *args);
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_keys(
|
||||
struct nb_cb_get_keys_args *args);
|
||||
const void *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_lookup_entry(
|
||||
struct nb_cb_lookup_entry_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_vrf_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_gateway_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_interface_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_bh_type_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_onlink_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
const void *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_get_next(
|
||||
struct nb_cb_get_next_args *args);
|
||||
int lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_get_keys(
|
||||
struct nb_cb_get_keys_args *args);
|
||||
const void *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_lookup_entry(
|
||||
struct nb_cb_lookup_entry_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_id_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_label_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_ttl_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_duplicate_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_recursive_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_active_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_fib_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_weight_get_elem(
|
||||
struct nb_cb_get_elem_args *args);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -490,78 +490,38 @@ struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem(
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group
|
||||
*/
|
||||
const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_next(
|
||||
struct nb_cb_get_next_args *args)
|
||||
{
|
||||
struct route_entry *re = (struct route_entry *)args->parent_list_entry;
|
||||
struct nhg_hash_entry *nhe = (struct nhg_hash_entry *)args->list_entry;
|
||||
|
||||
if (nhe == NULL) {
|
||||
nhe = re->nhe;
|
||||
return nhe;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_keys(
|
||||
struct nb_cb_get_keys_args *args)
|
||||
{
|
||||
struct nhg_hash_entry *nhe = (struct nhg_hash_entry *)args->list_entry;
|
||||
|
||||
args->keys->num = 1;
|
||||
snprintfrr(args->keys->key[0], sizeof(args->keys->key[0]), "%" PRIu32,
|
||||
nhe->id);
|
||||
|
||||
return NB_OK;
|
||||
}
|
||||
|
||||
const void *lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
|
||||
struct nb_cb_lookup_entry_args *args)
|
||||
{
|
||||
struct route_entry *re = (struct route_entry *)args->parent_list_entry;
|
||||
|
||||
return re->nhe;
|
||||
}
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/name
|
||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/id
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_id_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nhg_hash_entry *nhe = (struct nhg_hash_entry *)args->list_entry;
|
||||
char name[20] = {'\0'};
|
||||
struct route_entry *re = (struct route_entry *)args->list_entry;
|
||||
|
||||
snprintfrr(name, sizeof(name), "%" PRIu32, nhe->id);
|
||||
|
||||
return yang_data_new_string(args->xpath, name);
|
||||
return yang_data_new_uint32(args->xpath, re->nhe->id);
|
||||
}
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop
|
||||
*/
|
||||
const void *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_next(
|
||||
struct nb_cb_get_next_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
struct nhg_hash_entry *nhe =
|
||||
(struct nhg_hash_entry *)args->parent_list_entry;
|
||||
struct route_entry *re = (struct route_entry *)args->parent_list_entry;
|
||||
struct nhg_hash_entry *nhe = re->nhe;
|
||||
|
||||
if (args->list_entry == NULL)
|
||||
if (args->list_entry == NULL) {
|
||||
nexthop = nhe->nhg.nexthop;
|
||||
else
|
||||
} else
|
||||
nexthop = nexthop_next(nexthop);
|
||||
|
||||
return nexthop;
|
||||
}
|
||||
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
|
||||
int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_keys(
|
||||
struct nb_cb_get_keys_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -623,7 +583,7 @@ int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_
|
||||
}
|
||||
|
||||
const void *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_lookup_entry(
|
||||
struct nb_cb_lookup_entry_args *args)
|
||||
{
|
||||
struct nhg_hash_entry *nhe;
|
||||
@ -697,10 +657,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_look
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/nh-type
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -730,10 +690,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_t
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/vrf
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_vrf_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -744,10 +704,10 @@ lib_vrf_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/gateway
|
||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/nexthop/gateway
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_gateway_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -780,10 +740,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gate
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/interface
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_interface_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -798,10 +758,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_inte
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/bh-type
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_bh_type_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -830,10 +790,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_t
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/onlink
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_onlink_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -846,17 +806,17 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onli
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry
|
||||
*/
|
||||
const void *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_get_next(
|
||||
struct nb_cb_get_next_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_get_keys(
|
||||
struct nb_cb_get_keys_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -864,7 +824,7 @@ int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_
|
||||
}
|
||||
|
||||
const void *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_lookup_entry(
|
||||
struct nb_cb_lookup_entry_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -873,10 +833,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/id
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_id_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -885,10 +845,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/label
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_label_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -897,10 +857,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/ttl
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_ttl_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -909,10 +869,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/mpls-label-stack/entry/traffic-class
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_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_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
/* TODO: implement me. */
|
||||
@ -921,10 +881,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/duplicate
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_duplicate_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -937,10 +897,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_dupl
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/recursive
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_recursive_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -953,10 +913,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recu
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/active
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_active_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -969,10 +929,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_acti
|
||||
|
||||
/*
|
||||
* XPath:
|
||||
* /frr-vrf:lib/vrf/frr-zebra: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/nexthop/fib
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_fib_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
@ -985,10 +945,10 @@ lib_vrf_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/weight
|
||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/nexthop/weight
|
||||
*/
|
||||
struct yang_data *
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
|
||||
lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_weight_get_elem(
|
||||
struct nb_cb_get_elem_args *args)
|
||||
{
|
||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||
|
Loading…
Reference in New Issue
Block a user