]> git.proxmox.com Git - mirror_frr.git/blob - vrrpd/vrrp_ndisc.h
Merge pull request #12791 from taspelund/loc_rib_json_fix
[mirror_frr.git] / vrrpd / vrrp_ndisc.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * VRRP Neighbor Discovery.
4 * Copyright (C) 2019 Cumulus Networks, Inc.
5 * Quentin Young
6 */
7 #ifndef __VRRP_NDISC_H__
8 #define __VRRP_NDISC_H__
9
10 #include <netinet/icmp6.h>
11 #include <netinet/in.h>
12 #include <netinet/ip6.h>
13
14 #include "vrrp.h"
15
16 /*
17 * Initialize VRRP neighbor discovery.
18 */
19 extern void vrrp_ndisc_init(void);
20
21 /*
22 * Check whether VRRP Neighbor Discovery is initialized.
23 *
24 * Returns:
25 * True if initialized, false otherwise
26 */
27 extern bool vrrp_ndisc_is_init(void);
28
29 /*
30 * Finish VRRP Neighbor Discovery.
31 */
32 extern void vrrp_ndisc_fini(void);
33
34 /*
35 * Send VRRP Neighbor Advertisement.
36 *
37 * ifp
38 * Interface to transmit on
39 *
40 * ip
41 * IPv6 address to send Neighbor Advertisement for
42 *
43 * Returns:
44 * -1 on failure
45 * 0 otherwise
46 */
47 extern int vrrp_ndisc_una_send(struct vrrp_router *r, struct ipaddr *ip);
48
49 /*
50 * Send VRRP Neighbor Advertisements for all virtual IPs.
51 *
52 * r
53 * Virtual Router to send NA's for
54 *
55 * Returns:
56 * -1 on failure
57 * 0 otherwise
58 */
59 extern int vrrp_ndisc_una_send_all(struct vrrp_router *r);
60
61 #endif /* __VRRP_NDISC_H__ */