]>
Commit | Line | Data |
---|---|---|
1 | // SPDX-License-Identifier: GPL-2.0-or-later | |
2 | /* | |
3 | * STATICd - vrf header | |
4 | * Copyright (C) 2018 Cumulus Networks, Inc. | |
5 | * Donald Sharp | |
6 | */ | |
7 | #ifndef __STATIC_VRF_H__ | |
8 | #define __STATIC_VRF_H__ | |
9 | ||
10 | #ifdef __cplusplus | |
11 | extern "C" { | |
12 | #endif | |
13 | ||
14 | struct static_vrf { | |
15 | struct vrf *vrf; | |
16 | ||
17 | struct route_table *stable[AFI_MAX][SAFI_MAX]; | |
18 | }; | |
19 | ||
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 | ||
28 | struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name); | |
29 | ||
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); | |
34 | extern void static_vrf_terminate(void); | |
35 | ||
36 | #ifdef __cplusplus | |
37 | } | |
38 | #endif | |
39 | ||
40 | #endif |