Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ip6mr.c File Reference
#include <asm/uaccess.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/timer.h>
#include <linux/mm.h>
#include <linux/kernel.h>
#include <linux/fcntl.h>
#include <linux/stat.h>
#include <linux/socket.h>
#include <linux/inet.h>
#include <linux/netdevice.h>
#include <linux/inetdevice.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/compat.h>
#include <net/protocol.h>
#include <linux/skbuff.h>
#include <net/sock.h>
#include <net/raw.h>
#include <linux/notifier.h>
#include <linux/if_arp.h>
#include <net/checksum.h>
#include <net/netlink.h>
#include <net/fib_rules.h>
#include <net/ipv6.h>
#include <net/ip6_route.h>
#include <linux/mroute6.h>
#include <linux/pim.h>
#include <net/addrconf.h>
#include <linux/netfilter_ipv6.h>
#include <linux/export.h>
#include <net/ip6_checksum.h>

Go to the source code of this file.

Data Structures

struct  mr6_table
 
struct  ip6mr_rule
 
struct  ip6mr_result
 

Macros

#define MIF_EXISTS(_mrt, _idx)   ((_mrt)->vif6_table[_idx].dev != NULL)
 
#define ip6mr_for_each_table(mrt, net)   for (mrt = net->ipv6.mrt6; mrt; mrt = NULL)
 

Functions

int __init ip6_mr_init (void)
 
void ip6_mr_cleanup (void)
 
int ip6mr_sk_done (struct sock *sk)
 
struct sockmroute6_socket (struct net *net, struct sk_buff *skb)
 
int ip6_mroute_setsockopt (struct sock *sk, int optname, char __user *optval, unsigned int optlen)
 
int ip6_mroute_getsockopt (struct sock *sk, int optname, char __user *optval, int __user *optlen)
 
int ip6mr_ioctl (struct sock *sk, int cmd, void __user *arg)
 
int ip6_mr_input (struct sk_buff *skb)
 
int ip6mr_get_route (struct net *net, struct sk_buff *skb, struct rtmsg *rtm, int nowait)
 

Macro Definition Documentation

#define ip6mr_for_each_table (   mrt,
  net 
)    for (mrt = net->ipv6.mrt6; mrt; mrt = NULL)

Definition at line 266 of file ip6mr.c.

#define MIF_EXISTS (   _mrt,
  _idx 
)    ((_mrt)->vif6_table[_idx].dev != NULL)

Definition at line 94 of file ip6mr.c.

Function Documentation

void ip6_mr_cleanup ( void  )

Definition at line 1372 of file ip6mr.c.

int __init ip6_mr_init ( void  )

Definition at line 1333 of file ip6mr.c.

int ip6_mr_input ( struct sk_buff skb)

Definition at line 2048 of file ip6mr.c.

int ip6_mroute_getsockopt ( struct sock sk,
int  optname,
char __user optval,
int __user optlen 
)

Definition at line 1707 of file ip6mr.c.

int ip6_mroute_setsockopt ( struct sock sk,
int  optname,
char __user optval,
unsigned int  optlen 
)

Definition at line 1572 of file ip6mr.c.

int ip6mr_get_route ( struct net net,
struct sk_buff skb,
struct rtmsg rtm,
int  nowait 
)

Definition at line 2134 of file ip6mr.c.

int ip6mr_ioctl ( struct sock sk,
int  cmd,
void __user arg 
)

Definition at line 1753 of file ip6mr.c.

int ip6mr_sk_done ( struct sock sk)

Definition at line 1526 of file ip6mr.c.

struct sock* mroute6_socket ( struct net net,
struct sk_buff skb 
)
read

Definition at line 1550 of file ip6mr.c.