]> git.proxmox.com Git - mirror_frr.git/blob - staticd/static_vrf.h
doc: Add `show ipv6 rpf X:X::X:X` command to docs
[mirror_frr.git] / staticd / static_vrf.h
1 /*
2 * STATICd - vrf header
3 * Copyright (C) 2018 Cumulus Networks, Inc.
4 * Donald Sharp
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the Free
8 * Software Foundation; either version 2 of the License, or (at your option)
9 * any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; see the file COPYING; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20 #ifndef __STATIC_VRF_H__
21 #define __STATIC_VRF_H__
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 struct static_vrf {
28 struct vrf *vrf;
29
30 struct route_table *stable[AFI_MAX][SAFI_MAX];
31 };
32
33 struct stable_info {
34 struct static_vrf *svrf;
35 afi_t afi;
36 safi_t safi;
37 };
38
39 #define GET_STABLE_VRF_ID(info) info->svrf->vrf->vrf_id
40
41 struct static_vrf *static_vrf_lookup_by_name(const char *vrf_name);
42
43 void static_vrf_init(void);
44
45 struct route_table *static_vrf_static_table(afi_t afi, safi_t safi,
46 struct static_vrf *svrf);
47 extern void static_vrf_terminate(void);
48
49 #ifdef __cplusplus
50 }
51 #endif
52
53 #endif