Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6.git] / 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 #ifdef CONFIG_SECURITY
40         struct xt_table         *ip6table_security;
41 #endif
42 #endif
43         struct rt6_info         *ip6_null_entry;
44         struct rt6_statistics   *rt6_stats;
45         struct timer_list       ip6_fib_timer;
46         struct hlist_head       *fib_table_hash;
47         struct fib6_table       *fib6_main_tbl;
48         struct dst_ops          ip6_dst_ops;
49         unsigned int             ip6_rt_gc_expire;
50         unsigned long            ip6_rt_last_gc;
51 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
52         struct rt6_info         *ip6_prohibit_entry;
53         struct rt6_info         *ip6_blk_hole_entry;
54         struct fib6_table       *fib6_local_tbl;
55         struct fib_rules_ops    *fib6_rules_ops;
56 #endif
57         struct sock             **icmp_sk;
58         struct sock             *ndisc_sk;
59         struct sock             *tcp_sk;
60         struct sock             *igmp_sk;
61 #ifdef CONFIG_IPV6_MROUTE
62         struct sock             *mroute6_sk;
63         struct mfc6_cache       **mfc6_cache_array;
64         struct mif_device       *vif6_table;
65         int                     maxvif;
66         atomic_t                cache_resolve_queue_len;
67         int                     mroute_do_assert;
68         int                     mroute_do_pim;
69 #ifdef CONFIG_IPV6_PIMSM_V2
70         int                     mroute_reg_vif_num;
71 #endif
72 #endif
73 };
74 #endif