Pavel Emelyanov | 8afd351 | 2007-12-16 13:29:36 -0800 | [diff] [blame] | 1 | /* |
| 2 | * ipv4 in net namespaces |
| 3 | */ |
| 4 | |
| 5 | #ifndef __NETNS_IPV4_H__ |
| 6 | #define __NETNS_IPV4_H__ |
Denis V. Lunev | e4e4971 | 2008-01-10 03:27:51 -0800 | [diff] [blame] | 7 | |
Pavel Emelyanov | ac18e75 | 2008-01-22 06:02:14 -0800 | [diff] [blame] | 8 | #include <net/inet_frag.h> |
| 9 | |
Pavel Emelyanov | 752d14d | 2007-12-16 13:31:47 -0800 | [diff] [blame] | 10 | struct ctl_table_header; |
| 11 | struct ipv4_devconf; |
Denis V. Lunev | e4e4971 | 2008-01-10 03:27:51 -0800 | [diff] [blame] | 12 | struct fib_rules_ops; |
Denis V. Lunev | e4aef8a | 2008-01-10 03:28:24 -0800 | [diff] [blame] | 13 | struct hlist_head; |
Denis V. Lunev | 6bd48fc | 2008-01-10 03:28:55 -0800 | [diff] [blame] | 14 | struct sock; |
Pavel Emelyanov | 752d14d | 2007-12-16 13:31:47 -0800 | [diff] [blame] | 15 | |
Pavel Emelyanov | 8afd351 | 2007-12-16 13:29:36 -0800 | [diff] [blame] | 16 | struct netns_ipv4 { |
Eric Dumazet | 2a75de0 | 2008-01-05 23:08:49 -0800 | [diff] [blame] | 17 | #ifdef CONFIG_SYSCTL |
Pavel Emelyanov | 752d14d | 2007-12-16 13:31:47 -0800 | [diff] [blame] | 18 | struct ctl_table_header *forw_hdr; |
Pavel Emelyanov | e4a2d5c | 2008-01-22 06:08:36 -0800 | [diff] [blame] | 19 | struct ctl_table_header *frags_hdr; |
Pavel Emelyanov | 68528f0 | 2008-03-26 01:56:24 -0700 | [diff] [blame] | 20 | struct ctl_table_header *ipv4_hdr; |
Denis V. Lunev | 39a23e7 | 2008-07-05 19:02:33 -0700 | [diff] [blame] | 21 | struct ctl_table_header *route_hdr; |
Eric Dumazet | 2a75de0 | 2008-01-05 23:08:49 -0800 | [diff] [blame] | 22 | #endif |
Pavel Emelyanov | 752d14d | 2007-12-16 13:31:47 -0800 | [diff] [blame] | 23 | struct ipv4_devconf *devconf_all; |
| 24 | struct ipv4_devconf *devconf_dflt; |
Denis V. Lunev | e4e4971 | 2008-01-10 03:27:51 -0800 | [diff] [blame] | 25 | #ifdef CONFIG_IP_MULTIPLE_TABLES |
| 26 | struct fib_rules_ops *rules_ops; |
| 27 | #endif |
Denis V. Lunev | e4aef8a | 2008-01-10 03:28:24 -0800 | [diff] [blame] | 28 | struct hlist_head *fib_table_hash; |
Denis V. Lunev | 6bd48fc | 2008-01-10 03:28:55 -0800 | [diff] [blame] | 29 | struct sock *fibnl; |
Pavel Emelyanov | ac18e75 | 2008-01-22 06:02:14 -0800 | [diff] [blame] | 30 | |
Denis V. Lunev | 4a6ad7a | 2008-02-29 11:19:58 -0800 | [diff] [blame] | 31 | struct sock **icmp_sk; |
Denis V. Lunev | 046ee90 | 2008-04-03 14:31:33 -0700 | [diff] [blame] | 32 | struct sock *tcp_sock; |
Denis V. Lunev | 4a6ad7a | 2008-02-29 11:19:58 -0800 | [diff] [blame] | 33 | |
Pavel Emelyanov | ac18e75 | 2008-01-22 06:02:14 -0800 | [diff] [blame] | 34 | struct netns_frags frags; |
Alexey Dobriyan | 9335f04 | 2008-01-31 04:03:23 -0800 | [diff] [blame] | 35 | #ifdef CONFIG_NETFILTER |
| 36 | struct xt_table *iptable_filter; |
| 37 | struct xt_table *iptable_mangle; |
| 38 | struct xt_table *iptable_raw; |
Alexey Dobriyan | 9ea0cb2 | 2008-01-31 04:05:09 -0800 | [diff] [blame] | 39 | struct xt_table *arptable_filter; |
James Morris | 560ee65 | 2008-06-09 15:57:24 -0700 | [diff] [blame] | 40 | struct xt_table *iptable_security; |
Alexey Dobriyan | e099a17 | 2008-10-08 11:35:10 +0200 | [diff] [blame] | 41 | struct xt_table *nat_table; |
Alexey Dobriyan | 0c4c928 | 2008-10-08 11:35:11 +0200 | [diff] [blame] | 42 | struct hlist_head *nat_bysource; |
| 43 | int nat_vmalloced; |
Alexey Dobriyan | 9335f04 | 2008-01-31 04:03:23 -0800 | [diff] [blame] | 44 | #endif |
Pavel Emelyanov | a24022e | 2008-03-26 01:55:37 -0700 | [diff] [blame] | 45 | |
| 46 | int sysctl_icmp_echo_ignore_all; |
| 47 | int sysctl_icmp_echo_ignore_broadcasts; |
| 48 | int sysctl_icmp_ignore_bogus_error_responses; |
| 49 | int sysctl_icmp_ratelimit; |
| 50 | int sysctl_icmp_ratemask; |
| 51 | int sysctl_icmp_errors_use_inbound_ifaddr; |
Neil Horman | 1080d70 | 2008-10-27 12:28:25 -0700 | [diff] [blame] | 52 | int sysctl_rt_cache_rebuild_count; |
| 53 | int current_rt_cache_rebuild_count; |
Denis V. Lunev | 9f5e97e | 2008-07-05 19:02:59 -0700 | [diff] [blame] | 54 | |
| 55 | struct timer_list rt_secret_timer; |
Denis V. Lunev | e84f84f | 2008-07-05 19:04:32 -0700 | [diff] [blame] | 56 | atomic_t rt_genid; |
Benjamin Thery | 70a269e | 2009-01-22 04:56:15 +0000 | [diff] [blame] | 57 | |
| 58 | #ifdef CONFIG_IP_MROUTE |
| 59 | struct sock *mroute_sk; |
Benjamin Thery | 2bb8b26 | 2009-01-22 04:56:18 +0000 | [diff] [blame] | 60 | struct mfc_cache **mfc_cache_array; |
Benjamin Thery | cf958ae3 | 2009-01-22 04:56:16 +0000 | [diff] [blame] | 61 | struct vif_device *vif_table; |
| 62 | int maxvif; |
Benjamin Thery | 1e8fb3b | 2009-01-22 04:56:19 +0000 | [diff] [blame] | 63 | atomic_t cache_resolve_queue_len; |
Benjamin Thery | 6f9374a | 2009-01-22 04:56:20 +0000 | [diff] [blame] | 64 | int mroute_do_assert; |
| 65 | int mroute_do_pim; |
Benjamin Thery | 6c5143d | 2009-01-22 04:56:21 +0000 | [diff] [blame] | 66 | #if defined(CONFIG_IP_PIMSM_V1) || defined(CONFIG_IP_PIMSM_V2) |
| 67 | int mroute_reg_vif_num; |
| 68 | #endif |
Benjamin Thery | 70a269e | 2009-01-22 04:56:15 +0000 | [diff] [blame] | 69 | #endif |
Pavel Emelyanov | 8afd351 | 2007-12-16 13:29:36 -0800 | [diff] [blame] | 70 | }; |
| 71 | #endif |