#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.
|
int __init | ip6_mr_init (void) |
|
void | ip6_mr_cleanup (void) |
|
int | ip6mr_sk_done (struct sock *sk) |
|
struct sock * | mroute6_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) |
|
#define ip6mr_for_each_table |
( |
|
mrt, |
|
|
|
net |
|
) |
| for (mrt = net->ipv6.mrt6; mrt; mrt = NULL) |
#define MIF_EXISTS |
( |
|
_mrt, |
|
|
|
_idx |
|
) |
| ((_mrt)->vif6_table[_idx].dev != NULL) |