Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
igmp.h File Reference
#include <linux/skbuff.h>
#include <linux/timer.h>
#include <linux/in.h>
#include <uapi/linux/igmp.h>

Go to the source code of this file.

Data Structures

struct  ip_sf_socklist
 
struct  ip_mc_socklist
 
struct  ip_sf_list
 
struct  ip_mc_list
 

Macros

#define IP_SFLSIZE(count)
 
#define IP_SFBLOCK   10 /* allocate this many at once */
 
#define IGMPV3_MASK(value, nb)   ((nb)>=32 ? (value) : ((1<<(nb))-1) & (value))
 
#define IGMPV3_EXP(thresh, nbmant, nbexp, value)
 
#define IGMPV3_QQIC(value)   IGMPV3_EXP(0x80, 4, 3, value)
 
#define IGMPV3_MRC(value)   IGMPV3_EXP(0x80, 4, 3, value)
 

Functions

int ip_check_mc_rcu (struct in_device *dev, __be32 mc_addr, __be32 src_addr, u16 proto)
 
int igmp_rcv (struct sk_buff *)
 
int ip_mc_join_group (struct sock *sk, struct ip_mreqn *imr)
 
int ip_mc_leave_group (struct sock *sk, struct ip_mreqn *imr)
 
void ip_mc_drop_socket (struct sock *sk)
 
int ip_mc_source (int add, int omode, struct sock *sk, struct ip_mreq_source *mreqs, int ifindex)
 
int ip_mc_msfilter (struct sock *sk, struct ip_msfilter *msf, int ifindex)
 
int ip_mc_msfget (struct sock *sk, struct ip_msfilter *msf, struct ip_msfilter __user *optval, int __user *optlen)
 
int ip_mc_gsfget (struct sock *sk, struct group_filter *gsf, struct group_filter __user *optval, int __user *optlen)
 
int ip_mc_sf_allow (struct sock *sk, __be32 local, __be32 rmt, int dif)
 
void ip_mc_init_dev (struct in_device *)
 
void ip_mc_destroy_dev (struct in_device *)
 
void ip_mc_up (struct in_device *)
 
void ip_mc_down (struct in_device *)
 
void ip_mc_unmap (struct in_device *)
 
void ip_mc_remap (struct in_device *)
 
void ip_mc_dec_group (struct in_device *in_dev, __be32 addr)
 
void ip_mc_inc_group (struct in_device *in_dev, __be32 addr)
 
void ip_mc_rejoin_groups (struct in_device *in_dev)
 

Variables

int sysctl_igmp_max_memberships
 
int sysctl_igmp_max_msf
 

Macro Definition Documentation

#define IGMPV3_EXP (   thresh,
  nbmant,
  nbexp,
  value 
)
Value:
((value) < (thresh) ? (value) : \
((IGMPV3_MASK(value, nbmant) | (1<<(nbmant))) << \
(IGMPV3_MASK((value) >> (nbmant), nbexp) + (nbexp))))

Definition at line 102 of file igmp.h.

#define IGMPV3_MASK (   value,
  nb 
)    ((nb)>=32 ? (value) : ((1<<(nb))-1) & (value))

Definition at line 101 of file igmp.h.

#define IGMPV3_MRC (   value)    IGMPV3_EXP(0x80, 4, 3, value)

Definition at line 108 of file igmp.h.

#define IGMPV3_QQIC (   value)    IGMPV3_EXP(0x80, 4, 3, value)

Definition at line 107 of file igmp.h.

#define IP_SFBLOCK   10 /* allocate this many at once */

Definition at line 53 of file igmp.h.

#define IP_SFLSIZE (   count)
Value:
(sizeof(struct ip_sf_socklist) + \
(count) * sizeof(__be32))

Definition at line 50 of file igmp.h.

Function Documentation

int igmp_rcv ( struct sk_buff )
int ip_check_mc_rcu ( struct in_device *  dev,
__be32  mc_addr,
__be32  src_addr,
u16  proto 
)

Definition at line 2321 of file igmp.c.

void ip_mc_dec_group ( struct in_device *  in_dev,
__be32  addr 
)

Definition at line 1305 of file igmp.c.

void ip_mc_destroy_dev ( struct in_device *  )

Definition at line 1417 of file igmp.c.

void ip_mc_down ( struct in_device *  )

Definition at line 1358 of file igmp.c.

void ip_mc_drop_socket ( struct sock sk)

Definition at line 2295 of file igmp.c.

int ip_mc_gsfget ( struct sock sk,
struct group_filter gsf,
struct group_filter __user optval,
int __user optlen 
)

Definition at line 2192 of file igmp.c.

void ip_mc_inc_group ( struct in_device *  in_dev,
__be32  addr 
)

Definition at line 1225 of file igmp.c.

void ip_mc_init_dev ( struct in_device *  )

Definition at line 1380 of file igmp.c.

int ip_mc_join_group ( struct sock sk,
struct ip_mreqn imr 
)

Definition at line 1788 of file igmp.c.

int ip_mc_leave_group ( struct sock sk,
struct ip_mreqn imr 
)

Definition at line 1864 of file igmp.c.

int ip_mc_msfget ( struct sock sk,
struct ip_msfilter msf,
struct ip_msfilter __user optval,
int __user optlen 
)

Definition at line 2132 of file igmp.c.

int ip_mc_msfilter ( struct sock sk,
struct ip_msfilter msf,
int  ifindex 
)

Definition at line 2046 of file igmp.c.

void ip_mc_rejoin_groups ( struct in_device *  in_dev)

Definition at line 1276 of file igmp.c.

void ip_mc_remap ( struct in_device *  )

Definition at line 1346 of file igmp.c.

int ip_mc_sf_allow ( struct sock sk,
__be32  local,
__be32  rmt,
int  dif 
)

Definition at line 2249 of file igmp.c.

int ip_mc_source ( int  add,
int  omode,
struct sock sk,
struct ip_mreq_source mreqs,
int  ifindex 
)

Definition at line 1909 of file igmp.c.

void ip_mc_unmap ( struct in_device *  )

Definition at line 1336 of file igmp.c.

void ip_mc_up ( struct in_device *  )

Definition at line 1401 of file igmp.c.

Variable Documentation

int sysctl_igmp_max_memberships
int sysctl_igmp_max_msf