]> git.proxmox.com Git - mirror_frr.git/blame - pimd/pim_register.h
*: auto-convert to SPDX License IDs
[mirror_frr.git] / pimd / pim_register.h
CommitLineData
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 20int pim_register_stop_recv(struct interface *ifp, uint8_t *buf, int buf_size);
d62a17ae 21
c7842d24
MR
22int 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
25struct in6_addr pim_register_get_unicast_v6_addr(struct pim_interface *p_ifp);
26#endif
a5fa9822 27void 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 30void pim_register_stop_send(struct interface *ifp, pim_sgaddr *sg, pim_addr src,
31 pim_addr originator);
d62a17ae 32void pim_register_join(struct pim_upstream *up);
aea1f845 33void pim_null_register_send(struct pim_upstream *up);
46a9ea8b 34void pim_reg_del_on_couldreg_fail(struct interface *ifp);
998af219 35
01d68c9b 36#endif