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