linux/include/linux/pim.h
<<
>>
Prefs
   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
  33