1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Copyright 2009-2016, LabN Consulting, L.L.C.
7 #ifndef _QUAGGA_BGP_RFAPI_AP_H
8 #define _QUAGGA_BGP_RFAPI_AP_H
10 /* TBD delete some of these #includes */
14 #include "lib/zebra.h"
15 #include "lib/prefix.h"
16 #include "lib/table.h"
18 #include "lib/memory.h"
19 #include "lib/routemap.h"
21 #include "lib/linklist.h"
22 #include "lib/command.h"
23 #include "lib/stream.h"
25 #include "bgpd/bgpd.h"
27 #include "bgp_rfapi_cfg.h"
29 #include "rfapi_backend.h"
31 #include "bgpd/bgp_route.h"
32 #include "bgpd/bgp_aspath.h"
33 #include "bgpd/bgp_advertise.h"
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"
46 extern void rfapiApInit(struct rfapi_advertised_prefixes
*ap
);
48 extern void rfapiApRelease(struct rfapi_advertised_prefixes
*ap
);
50 extern int rfapiApCount(struct rfapi_descriptor
*rfd
);
53 extern int rfapiApCountAll(struct bgp
*bgp
);
55 extern void rfapiApReadvertiseAll(struct bgp
*bgp
,
56 struct rfapi_descriptor
*rfd
);
58 extern void rfapiApWithdrawAll(struct bgp
*bgp
, struct rfapi_descriptor
*rfd
);
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
,
64 struct rfapi_l2address_option
*l2o
); /* other options TBD */
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 */
72 #endif /* _QUAGGA_BGP_RFAPI_AP_H */