Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[safe/jmp/linux-2.6] / include / net / netns / ipv6.h
1 /*
2  * ipv6 in net namespaces
3  */
4
5 #include <net/inet_frag.h>
6
7 #ifndef __NETNS_IPV6_H__
8 #define __NETNS_IPV6_H__
9 #include <net/dst_ops.h>
10
11 struct ctl_table_header;
12
13 struct netns_sysctl_ipv6 {
14 #ifdef CONFIG_SYSCTL
15         struct ctl_table_header *table;
16         struct ctl_table_header *frags_hdr;
17 #endif
18         int bindv6only;
19         int flush_delay;
20         int ip6_rt_max_size;
21         int ip6_rt_gc_min_interval;
22         int ip6_rt_gc_timeout;
23         int ip6_rt_gc_interval;
24         int ip6_rt_gc_elasticity;
25         int ip6_rt_mtu_expires;
26         int ip6_rt_min_advmss;
27         int icmpv6_time;
28 };
29
30 struct netns_ipv6 {
31         struct netns_sysctl_ipv6 sysctl;
32         struct ipv6_devconf     *devconf_all;
33         struct ipv6_devconf     *devconf_dflt;
34         struct netns_frags      frags;
35 #ifdef CONFIG_NETFILTER
36         struct xt_table         *ip6table_filter;
37         struct xt_table         *ip6table_mangle;
38         struct xt_table         *ip6table_raw;
39         struct xt_table         *ip6table_security;
40 #endif
41         struct rt6_info         *ip6_null_entry;
42         struct rt6_statistics   *rt6_stats;
43         struct timer_list       ip6_fib_timer;
44         struct hlist_head       *fib_table_hash;
45         struct fib6_table       *fib6_main_tbl;
46         struct dst_ops          ip6_dst_ops;
47         unsigned int             ip6_rt_gc_expire;
48         unsigned long            ip6_rt_last_gc;
49 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
50         struct rt6_info         *ip6_prohibit_entry;
51         struct rt6_info         *ip6_blk_hole_entry;
52         struct fib6_table       *fib6_local_tbl;
53         struct fib_rules_ops    *fib6_rules_ops;
54 #endif
55         struct sock             **icmp_sk;
56         struct sock             *ndisc_sk;
57         struct sock             *tcp_sk;
58         struct sock             *igmp_sk;
59 #ifdef CONFIG_IPV6_MROUTE
60         struct sock             *mroute6_sk;
61         struct mfc6_cache       **mfc6_cache_array;
62         struct mif_device       *vif6_table;
63         int                     maxvif;
64         atomic_t                cache_resolve_queue_len;
65         int                     mroute_do_assert;
66         int                     mroute_do_pim;
67 #ifdef CONFIG_IPV6_PIMSM_V2
68         int                     mroute_reg_vif_num;
69 #endif
70 #endif
71 };
72 #endif