]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
d62a17ae | 2 | /* |
65efcfce LB |
3 | * |
4 | * Copyright 2009-2016, LabN Consulting, L.L.C. | |
5 | * | |
65efcfce LB |
6 | */ |
7 | #ifndef _QUAGGA_BGP_RFAPI_AP_H | |
8 | #define _QUAGGA_BGP_RFAPI_AP_H | |
9 | ||
10 | /* TBD delete some of these #includes */ | |
11 | ||
12 | #include <errno.h> | |
13 | ||
f8b6f499 LB |
14 | #include "lib/zebra.h" |
15 | #include "lib/prefix.h" | |
16 | #include "lib/table.h" | |
17 | #include "lib/vty.h" | |
18 | #include "lib/memory.h" | |
19 | #include "lib/routemap.h" | |
20 | #include "lib/log.h" | |
21 | #include "lib/linklist.h" | |
22 | #include "lib/command.h" | |
23 | #include "lib/stream.h" | |
65efcfce | 24 | |
f8b6f499 | 25 | #include "bgpd/bgpd.h" |
65efcfce LB |
26 | |
27 | #include "bgp_rfapi_cfg.h" | |
28 | #include "rfapi.h" | |
29 | #include "rfapi_backend.h" | |
30 | ||
f8b6f499 LB |
31 | #include "bgpd/bgp_route.h" |
32 | #include "bgpd/bgp_aspath.h" | |
33 | #include "bgpd/bgp_advertise.h" | |
65efcfce LB |
34 | |
35 | #include "rfapi_import.h" | |
36 | #include "rfapi_private.h" | |
37 | #include "rfapi_monitor.h" | |
38 | #include "rfapi_vty.h" | |
39 | #include "vnc_export_bgp.h" | |
40 | #include "vnc_export_bgp_p.h" | |
41 | #include "vnc_zebra.h" | |
42 | #include "vnc_import_bgp.h" | |
43 | #include "rfapi_rib.h" | |
44 | ||
45 | ||
d62a17ae | 46 | extern void rfapiApInit(struct rfapi_advertised_prefixes *ap); |
65efcfce | 47 | |
d62a17ae | 48 | extern void rfapiApRelease(struct rfapi_advertised_prefixes *ap); |
65efcfce | 49 | |
d62a17ae | 50 | extern int rfapiApCount(struct rfapi_descriptor *rfd); |
65efcfce | 51 | |
65efcfce | 52 | |
d62a17ae | 53 | extern int rfapiApCountAll(struct bgp *bgp); |
65efcfce | 54 | |
d62a17ae | 55 | extern void rfapiApReadvertiseAll(struct bgp *bgp, |
56 | struct rfapi_descriptor *rfd); | |
65efcfce | 57 | |
d62a17ae | 58 | extern void rfapiApWithdrawAll(struct bgp *bgp, struct rfapi_descriptor *rfd); |
65efcfce LB |
59 | |
60 | extern int | |
d62a17ae | 61 | rfapiApAdd(struct bgp *bgp, struct rfapi_descriptor *rfd, struct prefix *pfx_ip, |
62 | struct prefix *pfx_eth, struct prefix_rd *prd, uint32_t lifetime, | |
63 | uint8_t cost, | |
64 | struct rfapi_l2address_option *l2o); /* other options TBD */ | |
65 | ||
66 | extern int rfapiApDelete(struct bgp *bgp, struct rfapi_descriptor *rfd, | |
67 | struct prefix *pfx_ip, struct prefix *pfx_eth, | |
68 | struct prefix_rd *prd, | |
69 | int *advertise_tunnel); /* out */ | |
65efcfce LB |
70 | |
71 | ||
72 | #endif /* _QUAGGA_BGP_RFAPI_AP_H */ |