YOSHIFUJI Hideaki | 2e80462 | 2008-04-03 09:22:09 +0900 | [diff] [blame] | 1 | #ifndef __LINUX_PIM_H |
| 2 | #define __LINUX_PIM_H |
| 3 | |
| 4 | #include <asm/byteorder.h> |
| 5 | |
YOSHIFUJI Hideaki | 2e80462 | 2008-04-03 09:22:09 +0900 | [diff] [blame] | 6 | /* Message types - V1 */ |
Harvey Harrison | f3a7c66 | 2009-02-14 22:58:35 -0800 | [diff] [blame] | 7 | #define PIM_V1_VERSION cpu_to_be32(0x10000000) |
YOSHIFUJI Hideaki | 2e80462 | 2008-04-03 09:22:09 +0900 | [diff] [blame] | 8 | #define PIM_V1_REGISTER 1 |
| 9 | |
| 10 | /* Message types - V2 */ |
| 11 | #define PIM_VERSION 2 |
| 12 | #define PIM_REGISTER 1 |
| 13 | |
Harvey Harrison | f3a7c66 | 2009-02-14 22:58:35 -0800 | [diff] [blame] | 14 | #define PIM_NULL_REGISTER cpu_to_be32(0x40000000) |
YOSHIFUJI Hideaki | 2e80462 | 2008-04-03 09:22:09 +0900 | [diff] [blame] | 15 | |
Nikolay Aleksandrov | 1973a4e | 2015-11-26 15:23:48 +0100 | [diff] [blame] | 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 | |
YOSHIFUJI Hideaki | 2e80462 | 2008-04-03 09:22:09 +0900 | [diff] [blame] | 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 |