2023-02-08 13:17:09 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2018-05-08 13:58:32 +02:00
|
|
|
/*
|
|
|
|
* STATICd - vrf header
|
|
|
|
* Copyright (C) 2018 Cumulus Networks, Inc.
|
|
|
|
* Donald Sharp
|
|
|
|
*/
|
|
|
|
#ifndef __STATIC_VRF_H__
|
|
|
|
#define __STATIC_VRF_H__
|
|
|
|
|
2021-05-21 01:22:14 +02:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2018-05-08 13:58:32 +02:00
|
|
|
struct static_vrf {
|
|
|
|
struct vrf *vrf;
|
|
|
|
|
|
|
|
struct route_table *stable[AFI_MAX][SAFI_MAX];
|
|
|
|
};
|
|
|
|
|
2020-04-24 14:38:43 +02:00
|
|
|
struct stable_info {
|
|
|
|
struct static_vrf *svrf;
|
|
|
|
afi_t afi;
|
|
|
|
safi_t safi;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GET_STABLE_VRF_ID(info) info->svrf->vrf->vrf_id
|
|
|
|
|
2018-05-08 13:58:32 +02:00
|
|
|
struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name);
|
|
|
|
|
|
|
|
void static_vrf_init(void);
|
|
|
|
|
|
|
|
struct route_table *static_vrf_static_table(afi_t afi, safi_t safi,
|
|
|
|
struct static_vrf *svrf);
|
2020-03-08 02:22:52 +01:00
|
|
|
extern void static_vrf_terminate(void);
|
2020-04-24 14:38:43 +02:00
|
|
|
|
2021-05-21 01:22:14 +02:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2018-05-08 13:58:32 +02:00
|
|
|
#endif
|