2020-01-29 18:38:03 +01:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2020 Cumulus Networks, Inc.
|
|
|
|
* Chirag Shah
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
|
|
* under the terms of the GNU General Public License as published by the Free
|
|
|
|
* Software Foundation; either version 2 of the License, or (at your option)
|
|
|
|
* any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
|
|
* more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along
|
|
|
|
* with this program; see the file COPYING; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <zebra.h>
|
|
|
|
#include "northbound.h"
|
|
|
|
#include "libfrr.h"
|
|
|
|
#include "zebra_nb.h"
|
2020-02-25 03:40:29 +01:00
|
|
|
#include "zebra/interface.h"
|
2020-01-29 18:38:03 +01:00
|
|
|
|
2020-02-20 03:48:47 +01:00
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/up-count
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_up_count_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_uint16(args->xpath, zebra_if->up_count);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/down-count
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_down_count_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_uint16(args->xpath, zebra_if->down_count);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/zif-type
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_zif_type_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/ptm-status
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_ptm_status_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/vlan-id
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_vlan_id_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
struct zebra_l2info_vlan *vlan_info;
|
|
|
|
|
|
|
|
if (!IS_ZEBRA_IF_VLAN(ifp))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
vlan_info = &zebra_if->l2info.vl;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_uint16(args->xpath, vlan_info->vid);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/vni-id
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_vni_id_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
struct zebra_l2info_vxlan *vxlan_info;
|
|
|
|
|
|
|
|
if (!IS_ZEBRA_IF_VXLAN(ifp))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
vxlan_info = &zebra_if->l2info.vxl;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_uint32(args->xpath, vxlan_info->vni);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/remote-vtep
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_remote_vtep_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
struct zebra_l2info_vxlan *vxlan_info;
|
|
|
|
|
|
|
|
if (!IS_ZEBRA_IF_VXLAN(ifp))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
vxlan_info = &zebra_if->l2info.vxl;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_ipv4(args->xpath, &vxlan_info->vtep_ip);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/mcast-group
|
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_interface_zebra_state_mcast_group_get_elem(struct nb_cb_get_elem_args *args)
|
2020-02-20 03:48:47 +01:00
|
|
|
{
|
2020-04-04 18:38:51 +02:00
|
|
|
const struct interface *ifp = args->list_entry;
|
2020-02-25 03:40:29 +01:00
|
|
|
struct zebra_if *zebra_if;
|
|
|
|
struct zebra_l2info_vxlan *vxlan_info;
|
|
|
|
|
|
|
|
if (!IS_ZEBRA_IF_VXLAN(ifp))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
zebra_if = ifp->info;
|
|
|
|
vxlan_info = &zebra_if->l2info.vxl;
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
return yang_data_new_ipv4(args->xpath, &vxlan_info->mcast_grp);
|
2020-02-20 03:48:47 +01:00
|
|
|
}
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
int lib_vrf_ribs_rib_get_keys(struct nb_cb_get_keys_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route
|
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
int lib_vrf_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
const void *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/prefix
|
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *
|
|
|
|
lib_vrf_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-03-10 02:48:30 +01:00
|
|
|
const void *
|
2020-04-04 18:38:51 +02:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_get_next(struct nb_cb_get_next_args *args)
|
2020-03-10 02:48:30 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-04-04 18:38:51 +02:00
|
|
|
int lib_vrf_ribs_rib_route_route_entry_get_keys(
|
|
|
|
struct nb_cb_get_keys_args *args)
|
2020-03-10 02:48:30 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
const void *lib_vrf_ribs_rib_route_route_entry_lookup_entry(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/protocol
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_protocol_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/instance
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_instance_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/distance
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_distance_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/metric
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_metric_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/tag
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_tag_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/selected
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_selected_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/installed
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_installed_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/failed
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_failed_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/queued
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_queued_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-flags
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-03-10 02:48:30 +01:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-status
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-03-10 02:48:30 +01:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/uptime
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-04-04 18:38:51 +02:00
|
|
|
struct yang_data *lib_vrf_ribs_rib_route_route_entry_uptime_get_elem(
|
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-03-10 02:48:30 +01:00
|
|
|
const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_next(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_next_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-03-10 02:48:30 +01:00
|
|
|
int lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_keys(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_keys_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
2020-03-10 02:48:30 +01:00
|
|
|
const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2020-03-10 02:48:30 +01:00
|
|
|
* XPath:
|
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/name
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
2020-03-10 02:48:30 +01:00
|
|
|
const void *
|
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_next_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-03-10 02:48:30 +01:00
|
|
|
int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_keys_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
const void *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
const void *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_next_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2020-03-10 02:48:30 +01:00
|
|
|
int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_keys_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NB_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
const void *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_lookup_entry_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
2020-03-10 02:48:30 +01:00
|
|
|
* /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib
|
2020-01-29 18:38:03 +01:00
|
|
|
*/
|
|
|
|
struct yang_data *
|
2020-03-10 02:48:30 +01:00
|
|
|
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-01-29 18:38:03 +01:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|
2020-04-06 23:20:43 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* XPath:
|
|
|
|
* /frr-vrf:lib/vrf/frr-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(
|
2020-04-04 18:38:51 +02:00
|
|
|
struct nb_cb_get_elem_args *args)
|
2020-04-06 23:20:43 +02:00
|
|
|
{
|
|
|
|
/* TODO: implement me. */
|
|
|
|
return NULL;
|
|
|
|
}
|