Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef __LINUX_PIM_H
2#define __LINUX_PIM_H
3
4#include <asm/byteorder.h>
5
6/* Message types - V1 */
7#define PIM_V1_VERSION cpu_to_be32(0x10000000)
8#define PIM_V1_REGISTER 1
9
10/* Message types - V2 */
11#define PIM_VERSION 2
12#define PIM_REGISTER 1
13
14#define PIM_NULL_REGISTER cpu_to_be32(0x40000000)
15
16static inline bool ipmr_pimsm_enabled(void)
17{
18 return IS_BUILTIN(CONFIG_IP_PIMSM_V1) || IS_BUILTIN(CONFIG_IP_PIMSM_V2);
19}
20
21/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
22struct pimreghdr
23{
24 __u8 type;
25 __u8 reserved;
26 __be16 csum;
27 __be32 flags;
28};
29
30struct sk_buff;
31extern int pim_rcv_v1(struct sk_buff *);
32#endif