OpenCloudOS-Kernel/include/linux/pim.h

33 lines
641 B
C
Raw Normal View History

#ifndef __LINUX_PIM_H
#define __LINUX_PIM_H
#include <asm/byteorder.h>
/* Message types - V1 */
#define PIM_V1_VERSION cpu_to_be32(0x10000000)
#define PIM_V1_REGISTER 1
/* Message types - V2 */
#define PIM_VERSION 2
#define PIM_REGISTER 1
#define PIM_NULL_REGISTER cpu_to_be32(0x40000000)
static inline bool ipmr_pimsm_enabled(void)
{
return IS_BUILTIN(CONFIG_IP_PIMSM_V1) || IS_BUILTIN(CONFIG_IP_PIMSM_V2);
}
/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
struct pimreghdr
{
__u8 type;
__u8 reserved;
__be16 csum;
__be32 flags;
};
struct sk_buff;
extern int pim_rcv_v1(struct sk_buff *);
#endif