]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
7922fc65 DS |
2 | /* |
3 | * VRF Internal Header | |
4 | * Copyright (C) 2017 Cumulus Networks, Inc. | |
5 | * Donald Sharp | |
7922fc65 DS |
6 | */ |
7 | #ifndef __LIB_VRF_PRIVATE_H__ | |
8 | #define __LIB_VRF_PRIVATE_H__ | |
9 | ||
10 | #include "vrf.h" | |
11 | ||
5e244469 RW |
12 | #ifdef __cplusplus |
13 | extern "C" { | |
14 | #endif | |
15 | ||
7922fc65 DS |
16 | /* |
17 | * These functions should only be called by: | |
18 | * zebra/if_netlink.c -> The interface from OS into Zebra | |
19 | * lib/zclient.c -> The interface from Zebra to each daemon | |
20 | * | |
21 | * Why you ask? Well because these are the turn on/off | |
22 | * functions and the only place we can really turn a | |
23 | * vrf on properly is in the call up from the os -> zebra | |
24 | * and the pass through of this informatoin from zebra -> protocols | |
25 | */ | |
26 | ||
27 | /* | |
28 | * vrf_enable | |
29 | * | |
30 | * Given a newly running vrf enable it to be used | |
31 | * by interested routing protocols | |
32 | */ | |
d62a17ae | 33 | extern int vrf_enable(struct vrf *); |
7922fc65 DS |
34 | |
35 | /* | |
36 | * vrf_delete | |
37 | * | |
38 | * Given a vrf that is being deleted, delete it | |
39 | * from interested parties | |
40 | */ | |
d62a17ae | 41 | extern void vrf_delete(struct vrf *); |
7922fc65 | 42 | |
5e244469 RW |
43 | #ifdef __cplusplus |
44 | } | |
45 | #endif | |
46 | ||
7922fc65 | 47 | #endif |