mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-24 17:47:36 +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.";
|
"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.
|
* Common nexthop attributes grouping.
|
||||||
*/
|
*/
|
||||||
@ -147,6 +154,7 @@ module frr-nexthop {
|
|||||||
description
|
description
|
||||||
"The nexthop type.";
|
"The nexthop type.";
|
||||||
}
|
}
|
||||||
|
|
||||||
leaf vrf {
|
leaf vrf {
|
||||||
type frr-vrf:vrf-ref;
|
type frr-vrf:vrf-ref;
|
||||||
description
|
description
|
||||||
@ -157,17 +165,20 @@ module frr-nexthop {
|
|||||||
description
|
description
|
||||||
"The nexthop gateway address.";
|
"The nexthop gateway address.";
|
||||||
}
|
}
|
||||||
|
|
||||||
leaf interface {
|
leaf interface {
|
||||||
type frr-interface:interface-ref;
|
type frr-interface:interface-ref;
|
||||||
description
|
description
|
||||||
"The nexthop egress interface.";
|
"The nexthop egress interface.";
|
||||||
}
|
}
|
||||||
|
|
||||||
leaf bh-type {
|
leaf bh-type {
|
||||||
when "../nh-type = 'blackhole'";
|
when "../nh-type = 'blackhole'";
|
||||||
type blackhole-type;
|
type blackhole-type;
|
||||||
description
|
description
|
||||||
"A blackhole sub-type, if the nexthop is a blackhole type.";
|
"A blackhole sub-type, if the nexthop is a blackhole type.";
|
||||||
}
|
}
|
||||||
|
|
||||||
leaf onlink {
|
leaf onlink {
|
||||||
when "../nh-type = 'ip4-ifindex' or
|
when "../nh-type = 'ip4-ifindex' or
|
||||||
../nh-type = 'ip6-ifindex'";
|
../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.
|
* Single nexthop grouping.
|
||||||
*/
|
*/
|
||||||
@ -230,12 +250,7 @@ module frr-nexthop {
|
|||||||
container frr-nexthops {
|
container frr-nexthops {
|
||||||
description
|
description
|
||||||
"FRR nexthop object.";
|
"FRR nexthop object.";
|
||||||
list nexthop {
|
uses nexthop-grouping;
|
||||||
key "nh-type gateway interface";
|
|
||||||
description
|
|
||||||
"A list of nexthop objects.";
|
|
||||||
uses frr-nexthop-attributes;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,11 +259,10 @@ module frr-nexthop {
|
|||||||
* Container for FRR nexthop group.
|
* Container for FRR nexthop group.
|
||||||
*/
|
*/
|
||||||
grouping frr-nexthop-grouping {
|
grouping frr-nexthop-grouping {
|
||||||
list nexthop-group {
|
list nexthop-groups {
|
||||||
key "name";
|
key "name";
|
||||||
description
|
description
|
||||||
"A group of nexthops.";
|
"List of nexthop groups, each contains group of nexthops";
|
||||||
|
|
||||||
leaf name {
|
leaf name {
|
||||||
type string;
|
type string;
|
||||||
description
|
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 {
|
container frr-nexthop-group {
|
||||||
description
|
description
|
||||||
"A nexthop-group, represented as a list of nexthop objects.";
|
"A nexthop-group, represented as a list of nexthop objects.";
|
||||||
uses frr-nexthop-grouping;
|
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 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 {
|
leaf weight {
|
||||||
type uint8;
|
type uint8;
|
||||||
description
|
description
|
||||||
|
@ -316,7 +316,7 @@ module frr-zebra {
|
|||||||
"Uptime for the route.";
|
"Uptime for the route.";
|
||||||
}
|
}
|
||||||
|
|
||||||
uses frr-nh:frr-nexthop-grouping;
|
uses frr-nh:frr-nexthop-group-operational;
|
||||||
}
|
}
|
||||||
|
|
||||||
// End of route-common
|
// 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;
|
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 = {
|
.cbs = {
|
||||||
.get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_get_next,
|
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_id_get_elem,
|
||||||
.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: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 = {
|
.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 = {
|
.cbs = {
|
||||||
.get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next,
|
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem,
|
||||||
.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: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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.cbs = {
|
||||||
.get_next = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next,
|
.get_elem = lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_id_get_elem,
|
||||||
.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: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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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 = {
|
.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,
|
.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,
|
.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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *lib_vrf_zebra_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);
|
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 *
|
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 nb_cb_get_elem_args *args);
|
||||||
const void *
|
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 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);
|
struct nb_cb_get_keys_args *args);
|
||||||
const void *
|
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 nb_cb_lookup_entry_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
const void *
|
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);
|
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);
|
struct nb_cb_get_keys_args *args);
|
||||||
const void *
|
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 nb_cb_lookup_entry_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -490,78 +490,38 @@ struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem(
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* XPath:
|
||||||
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group
|
* /frr-vrf:lib/vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/id
|
||||||
*/
|
|
||||||
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
|
|
||||||
*/
|
*/
|
||||||
struct yang_data *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nhg_hash_entry *nhe = (struct nhg_hash_entry *)args->list_entry;
|
struct route_entry *re = (struct route_entry *)args->list_entry;
|
||||||
char name[20] = {'\0'};
|
|
||||||
|
|
||||||
snprintfrr(name, sizeof(name), "%" PRIu32, nhe->id);
|
return yang_data_new_uint32(args->xpath, re->nhe->id);
|
||||||
|
|
||||||
return yang_data_new_string(args->xpath, name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_next_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||||
struct nhg_hash_entry *nhe =
|
struct route_entry *re = (struct route_entry *)args->parent_list_entry;
|
||||||
(struct nhg_hash_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;
|
nexthop = nhe->nhg.nexthop;
|
||||||
else
|
} else
|
||||||
nexthop = nexthop_next(nexthop);
|
nexthop = nexthop_next(nexthop);
|
||||||
|
|
||||||
return 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 nb_cb_get_keys_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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 *
|
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 nb_cb_lookup_entry_args *args)
|
||||||
{
|
{
|
||||||
struct nhg_hash_entry *nhe;
|
struct nhg_hash_entry *nhe;
|
||||||
@ -697,10 +657,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_look
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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)
|
struct nb_cb_get_next_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
return NULL;
|
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)
|
struct nb_cb_get_keys_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -864,7 +824,7 @@ int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_
|
|||||||
}
|
}
|
||||||
|
|
||||||
const void *
|
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 nb_cb_lookup_entry_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -873,10 +833,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -885,10 +845,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -897,10 +857,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -909,10 +869,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
/* TODO: implement me. */
|
/* TODO: implement me. */
|
||||||
@ -921,10 +881,10 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XPath:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
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:
|
* 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 *
|
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 nb_cb_get_elem_args *args)
|
||||||
{
|
{
|
||||||
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
struct nexthop *nexthop = (struct nexthop *)args->list_entry;
|
||||||
|
Loading…
Reference in New Issue
Block a user