]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
01d68c9b DS |
2 | /* |
3 | * PIM for Quagga | |
4 | * Copyright (C) 2015 Cumulus Networks, Inc. | |
5 | * Donald Sharp | |
01d68c9b DS |
6 | */ |
7 | #ifndef PIM_REGISTER_H | |
8 | #define PIM_REGISTER_H | |
9 | ||
10 | #include <zebra.h> | |
11 | ||
12 | #include "if.h" | |
13 | ||
14 | #define PIM_REGISTER_BORDER_BIT 0x80000000 | |
15 | #define PIM_REGISTER_NR_BIT 0x40000000 | |
16 | ||
998af219 | 17 | #define PIM_MSG_REGISTER_LEN (8) |
86d1f7c4 | 18 | #define PIM_MSG_REGISTER_STOP_LEN (4) |
77e390e5 | 19 | |
b206566b | 20 | int pim_register_stop_recv(struct interface *ifp, uint8_t *buf, int buf_size); |
d62a17ae | 21 | |
c7842d24 MR |
22 | int pim_register_recv(struct interface *ifp, pim_addr dest_addr, |
23 | pim_addr src_addr, uint8_t *tlv_buf, int tlv_buf_size); | |
4b603761 MR |
24 | #if PIM_IPV == 6 |
25 | struct in6_addr pim_register_get_unicast_v6_addr(struct pim_interface *p_ifp); | |
26 | #endif | |
a5fa9822 | 27 | void pim_register_send(const uint8_t *buf, int buf_size, pim_addr src, |
d62a17ae | 28 | struct pim_rpf *rpg, int null_register, |
29 | struct pim_upstream *up); | |
a5fa9822 | 30 | void pim_register_stop_send(struct interface *ifp, pim_sgaddr *sg, pim_addr src, |
31 | pim_addr originator); | |
d62a17ae | 32 | void pim_register_join(struct pim_upstream *up); |
aea1f845 | 33 | void pim_null_register_send(struct pim_upstream *up); |
46a9ea8b | 34 | void pim_reg_del_on_couldreg_fail(struct interface *ifp); |
998af219 | 35 | |
01d68c9b | 36 | #endif |