2023-02-08 13:17:09 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2015-02-04 07:01:14 +01:00
|
|
|
/*
|
2017-05-13 10:25:29 +02:00
|
|
|
* PIM for Quagga
|
|
|
|
* Copyright (C) 2008 Everton da Silva Marques
|
|
|
|
*/
|
2015-02-04 07:01:14 +01:00
|
|
|
|
|
|
|
#ifndef PIM_UTIL_H
|
|
|
|
#define PIM_UTIL_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#include <zebra.h>
|
2024-11-25 17:43:30 +01:00
|
|
|
#include "lib/filter.h"
|
2015-02-04 07:01:14 +01:00
|
|
|
|
|
|
|
#include "checksum.h"
|
2017-09-01 20:33:00 +02:00
|
|
|
#include "pimd.h"
|
|
|
|
#include "pim_iface.h"
|
2015-02-04 07:01:14 +01:00
|
|
|
|
|
|
|
uint8_t igmp_msg_encode16to8(uint16_t value);
|
|
|
|
uint16_t igmp_msg_decode8to16(uint8_t code);
|
|
|
|
|
|
|
|
void pim_pkt_dump(const char *label, const uint8_t *buf, int size);
|
|
|
|
|
2016-12-02 18:48:06 +01:00
|
|
|
int pim_is_group_224_0_0_0_24(struct in_addr group_addr);
|
2016-12-01 23:12:21 +01:00
|
|
|
int pim_is_group_224_4(struct in_addr group_addr);
|
2024-11-25 17:43:30 +01:00
|
|
|
enum filter_type pim_access_list_apply(struct access_list *access, const struct in_addr *source,
|
|
|
|
const struct in_addr *group);
|
2024-11-25 17:36:54 +01:00
|
|
|
bool pim_is_group_filtered(struct pim_interface *pim_ifp, pim_addr *grp, pim_addr *src);
|
2024-12-13 02:44:29 +01:00
|
|
|
void pim_get_all_mcast_group(struct prefix *prefix);
|
2022-10-13 06:37:28 +02:00
|
|
|
bool pim_addr_is_multicast(pim_addr addr);
|
2015-02-04 07:01:14 +01:00
|
|
|
#endif /* PIM_UTIL_H */
|