blob: 2932721180c0902e5fdd42076208332a36a0242c [file] [log] [blame]
Daniel Lezcanob0f159d2008-01-10 02:49:06 -08001/*
2 * ipv6 in net namespaces
3 */
4
Daniel Lezcanoe71e0342008-01-10 02:56:03 -08005#include <net/inet_frag.h>
6
Daniel Lezcanob0f159d2008-01-10 02:49:06 -08007#ifndef __NETNS_IPV6_H__
8#define __NETNS_IPV6_H__
9
Daniel Lezcano760f2d02008-01-10 02:53:43 -080010struct ctl_table_header;
11
12struct netns_sysctl_ipv6 {
13#ifdef CONFIG_SYSCTL
14 struct ctl_table_header *table;
Pavel Emelyanove4a2d5c2008-01-22 06:08:36 -080015 struct ctl_table_header *frags_hdr;
Daniel Lezcano760f2d02008-01-10 02:53:43 -080016#endif
Daniel Lezcano99bc9c42008-01-10 02:54:53 -080017 int bindv6only;
Daniel Lezcano49905092008-01-10 03:01:01 -080018 int flush_delay;
19 int ip6_rt_max_size;
20 int ip6_rt_gc_min_interval;
21 int ip6_rt_gc_timeout;
22 int ip6_rt_gc_interval;
23 int ip6_rt_gc_elasticity;
24 int ip6_rt_mtu_expires;
25 int ip6_rt_min_advmss;
Daniel Lezcano41a76902008-01-10 03:02:40 -080026 int icmpv6_time;
Daniel Lezcano760f2d02008-01-10 02:53:43 -080027};
28
Daniel Lezcanob0f159d2008-01-10 02:49:06 -080029struct netns_ipv6 {
Daniel Lezcano760f2d02008-01-10 02:53:43 -080030 struct netns_sysctl_ipv6 sysctl;
Pavel Emelyanove0da5a42008-01-10 17:42:55 -080031 struct ipv6_devconf *devconf_all;
32 struct ipv6_devconf *devconf_dflt;
Pavel Emelyanovac18e752008-01-22 06:02:14 -080033 struct netns_frags frags;
Alexey Dobriyan8280aa62008-01-31 04:04:13 -080034#ifdef CONFIG_NETFILTER
35 struct xt_table *ip6table_filter;
36 struct xt_table *ip6table_mangle;
37 struct xt_table *ip6table_raw;
James Morris17e6e592008-06-09 15:58:05 -070038 struct xt_table *ip6table_security;
Alexey Dobriyan8280aa62008-01-31 04:04:13 -080039#endif
Daniel Lezcano8ed67782008-03-04 13:48:30 -080040 struct rt6_info *ip6_null_entry;
Benjamin Theryc5728722008-03-03 23:34:17 -080041 struct rt6_statistics *rt6_stats;
Stephen Hemminger417f28b2008-07-22 14:33:45 -070042 struct timer_list ip6_fib_timer;
Daniel Lezcano58f09b72008-03-03 23:25:27 -080043 struct hlist_head *fib_table_hash;
44 struct fib6_table *fib6_main_tbl;
Benjamin Theryf2fc6a52008-03-04 13:49:23 -080045 struct dst_ops *ip6_dst_ops;
Benjamin Thery6891a342008-03-04 13:49:47 -080046 unsigned int ip6_rt_gc_expire;
47 unsigned long ip6_rt_last_gc;
Daniel Lezcano58f09b72008-03-03 23:25:27 -080048#ifdef CONFIG_IPV6_MULTIPLE_TABLES
Daniel Lezcano8ed67782008-03-04 13:48:30 -080049 struct rt6_info *ip6_prohibit_entry;
50 struct rt6_info *ip6_blk_hole_entry;
Daniel Lezcano58f09b72008-03-03 23:25:27 -080051 struct fib6_table *fib6_local_tbl;
Daniel Lezcanodcabb812008-03-03 23:33:08 -080052 struct fib_rules_ops *fib6_rules_ops;
Daniel Lezcano58f09b72008-03-03 23:25:27 -080053#endif
Denis V. Lunev98c6d1b2008-02-29 11:21:22 -080054 struct sock **icmp_sk;
Daniel Lezcano1762f7e2008-03-07 11:15:34 -080055 struct sock *ndisc_sk;
Daniel Lezcano93ec9262008-03-07 11:16:02 -080056 struct sock *tcp_sk;
Daniel Lezcanob8ad0cb2008-03-07 11:16:55 -080057 struct sock *igmp_sk;
Daniel Lezcanob0f159d2008-01-10 02:49:06 -080058};
59#endif