]> git.proxmox.com Git - mirror_frr.git/blame - bgpd/rfapi/rfapi_backend.h
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / bgpd / rfapi / rfapi_backend.h
CommitLineData
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
8#ifndef _QUAGGA_BGP_RFAPI_BACKEND_H
9#define _QUAGGA_BGP_RFAPI_BACKEND_H
10
49e5a4a0 11#ifdef ENABLE_BGP_VNC
65efcfce 12
f8b6f499
LB
13#include "bgpd/bgp_route.h"
14#include "bgpd/bgp_nexthop.h"
65efcfce 15
d62a17ae 16extern void rfapi_init(void);
cd9d0537 17extern void vnc_zebra_init(struct event_loop *master);
d62a17ae 18extern void vnc_zebra_destroy(void);
65efcfce 19
d62a17ae 20extern void rfapi_delete(struct bgp *);
65efcfce 21
d62a17ae 22struct rfapi *bgp_rfapi_new(struct bgp *bgp);
23void bgp_rfapi_destroy(struct bgp *bgp, struct rfapi *h);
65efcfce 24
5a1ae2c2
DS
25extern void rfapiProcessUpdate(struct peer *peer, void *rfd,
26 const struct prefix *p, struct prefix_rd *prd,
27 struct attr *attr, afi_t afi, safi_t safi,
28 uint8_t type, uint8_t sub_type, uint32_t *label);
65efcfce
LB
29
30
5a1ae2c2
DS
31extern void rfapiProcessWithdraw(struct peer *peer, void *rfd,
32 const struct prefix *p, struct prefix_rd *prd,
33 struct attr *attr, afi_t afi, safi_t safi,
34 uint8_t type, int kill);
65efcfce 35
d62a17ae 36extern void rfapiProcessPeerDown(struct peer *peer);
65efcfce 37
4b7e6066
DS
38extern void vnc_zebra_announce(struct prefix *p,
39 struct bgp_path_info *new_select,
d62a17ae 40 struct bgp *bgp);
65efcfce 41
4b7e6066
DS
42extern void vnc_zebra_withdraw(struct prefix *p,
43 struct bgp_path_info *old_select);
65efcfce
LB
44
45
bd494ec5 46extern void rfapi_vty_out_vncinfo(struct vty *vty, const struct prefix *p,
40381db7 47 struct bgp_path_info *bpi, safi_t safi);
65efcfce
LB
48
49
d62a17ae 50extern void vnc_direct_bgp_vpn_enable(struct bgp *bgp, afi_t afi);
65efcfce 51
d62a17ae 52extern void vnc_direct_bgp_vpn_disable(struct bgp *bgp, afi_t afi);
65efcfce 53
d62a17ae 54extern void vnc_direct_bgp_rh_vpn_enable(struct bgp *bgp, afi_t afi);
65efcfce 55
d62a17ae 56extern void vnc_direct_bgp_rh_vpn_disable(struct bgp *bgp, afi_t afi);
65efcfce
LB
57
58#endif /* ENABLE_BGP_VNC */
59
60#endif /* _QUAGGA_BGP_RFAPI_BACKEND_H */