]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
4f52e9a6 QY |
2 | /* |
3 | * VRRP Neighbor Discovery. | |
4 | * Copyright (C) 2019 Cumulus Networks, Inc. | |
63d4bd12 | 5 | * Quentin Young |
4f52e9a6 | 6 | */ |
63d4bd12 QY |
7 | #ifndef __VRRP_NDISC_H__ |
8 | #define __VRRP_NDISC_H__ | |
4f52e9a6 QY |
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 | ||
63d4bd12 | 61 | #endif /* __VRRP_NDISC_H__ */ |