]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
7e24fdf3 DS |
2 | /* |
3 | * STATICd - vrf header | |
4 | * Copyright (C) 2018 Cumulus Networks, Inc. | |
5 | * Donald Sharp | |
7e24fdf3 DS |
6 | */ |
7 | #ifndef __STATIC_VRF_H__ | |
8 | #define __STATIC_VRF_H__ | |
9 | ||
deca28a3 CH |
10 | #ifdef __cplusplus |
11 | extern "C" { | |
12 | #endif | |
13 | ||
7e24fdf3 DS |
14 | struct static_vrf { |
15 | struct vrf *vrf; | |
16 | ||
17 | struct route_table *stable[AFI_MAX][SAFI_MAX]; | |
18 | }; | |
19 | ||
88fa5104 | 20 | struct stable_info { |
21 | struct static_vrf *svrf; | |
22 | afi_t afi; | |
23 | safi_t safi; | |
24 | }; | |
25 | ||
26 | #define GET_STABLE_VRF_ID(info) info->svrf->vrf->vrf_id | |
27 | ||
7e24fdf3 | 28 | struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name); |
7e24fdf3 | 29 | |
7e24fdf3 DS |
30 | void static_vrf_init(void); |
31 | ||
32 | struct route_table *static_vrf_static_table(afi_t afi, safi_t safi, | |
33 | struct static_vrf *svrf); | |
a4155a1b | 34 | extern void static_vrf_terminate(void); |
88fa5104 | 35 | |
deca28a3 CH |
36 | #ifdef __cplusplus |
37 | } | |
38 | #endif | |
39 | ||
7e24fdf3 | 40 | #endif |