Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
igmp.c File Reference
#include <linux/module.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/string.h>
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/in.h>
#include <linux/inet.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/inetdevice.h>
#include <linux/igmp.h>
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/times.h>
#include <net/net_namespace.h>
#include <net/arp.h>
#include <net/ip.h>
#include <net/protocol.h>
#include <net/route.h>
#include <net/sock.h>
#include <net/checksum.h>
#include <linux/netfilter_ipv4.h>

Go to the source code of this file.

Macros

#define IP_MAX_MEMBERSHIPS   20
 
#define IP_MAX_MSF   10
 
#define for_each_pmc_rcu(in_dev, pmc)
 
#define for_each_pmc_rtnl(in_dev, pmc)
 
#define igmp_ifc_event(x)   do { } while (0)
 

Functions

void ip_mc_inc_group (struct in_device *in_dev, __be32 addr)
 
 EXPORT_SYMBOL (ip_mc_inc_group)
 
void ip_mc_rejoin_groups (struct in_device *in_dev)
 
 EXPORT_SYMBOL (ip_mc_rejoin_groups)
 
void ip_mc_dec_group (struct in_device *in_dev, __be32 addr)
 
 EXPORT_SYMBOL (ip_mc_dec_group)
 
void ip_mc_unmap (struct in_device *in_dev)
 
void ip_mc_remap (struct in_device *in_dev)
 
void ip_mc_down (struct in_device *in_dev)
 
void ip_mc_init_dev (struct in_device *in_dev)
 
void ip_mc_up (struct in_device *in_dev)
 
void ip_mc_destroy_dev (struct in_device *in_dev)
 
int ip_mc_join_group (struct sock *sk, struct ip_mreqn *imr)
 
 EXPORT_SYMBOL (ip_mc_join_group)
 
int ip_mc_leave_group (struct sock *sk, struct ip_mreqn *imr)
 
 EXPORT_SYMBOL (ip_mc_leave_group)
 
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 loc_addr, __be32 rmt_addr, int dif)
 
void ip_mc_drop_socket (struct sock *sk)
 
int ip_check_mc_rcu (struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u16 proto)
 

Variables

int sysctl_igmp_max_memberships __read_mostly = IP_MAX_MEMBERSHIPS
 

Macro Definition Documentation

#define for_each_pmc_rcu (   in_dev,
  pmc 
)
Value:
for (pmc = rcu_dereference(in_dev->mc_list); \
pmc != NULL; \
pmc = rcu_dereference(pmc->next_rcu))

Definition at line 159 of file igmp.c.

#define for_each_pmc_rtnl (   in_dev,
  pmc 
)
Value:
for (pmc = rtnl_dereference(in_dev->mc_list); \
pmc != NULL; \
pmc = rtnl_dereference(pmc->next_rcu))

Definition at line 164 of file igmp.c.

#define igmp_ifc_event (   x)    do { } while (0)

Definition at line 1521 of file igmp.c.

#define IP_MAX_MEMBERSHIPS   20

Definition at line 108 of file igmp.c.

#define IP_MAX_MSF   10

Definition at line 109 of file igmp.c.

Function Documentation

EXPORT_SYMBOL ( ip_mc_inc_group  )
EXPORT_SYMBOL ( ip_mc_rejoin_groups  )
EXPORT_SYMBOL ( ip_mc_dec_group  )
EXPORT_SYMBOL ( ip_mc_join_group  )
EXPORT_SYMBOL ( ip_mc_leave_group  )
int ip_check_mc_rcu ( struct in_device *  in_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 *  in_dev)

Definition at line 1417 of file igmp.c.

void ip_mc_down ( struct in_device *  in_dev)

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 *  in_dev)

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 *  in_dev)

Definition at line 1346 of file igmp.c.

int ip_mc_sf_allow ( struct sock sk,
__be32  loc_addr,
__be32  rmt_addr,
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 *  in_dev)

Definition at line 1336 of file igmp.c.

void ip_mc_up ( struct in_device *  in_dev)

Definition at line 1401 of file igmp.c.

Variable Documentation

Definition at line 1471 of file igmp.c.