Line data Source code
1 : /*
2 : * ipv4 in net namespaces
3 : */
4 :
5 : #ifndef __NETNS_IPV4_H__
6 : #define __NETNS_IPV4_H__
7 :
8 : #include <net/inet_frag.h>
9 :
10 : struct ctl_table_header;
11 : struct ipv4_devconf;
12 : struct fib_rules_ops;
13 : struct hlist_head;
14 : struct sock;
15 :
16 : struct netns_ipv4 {
17 : #ifdef CONFIG_SYSCTL
18 : struct ctl_table_header *forw_hdr;
19 : struct ctl_table_header *frags_hdr;
20 : struct ctl_table_header *ipv4_hdr;
21 : struct ctl_table_header *route_hdr;
22 : #endif
23 : struct ipv4_devconf *devconf_all;
24 : struct ipv4_devconf *devconf_dflt;
25 : #ifdef CONFIG_IP_MULTIPLE_TABLES
26 : struct fib_rules_ops *rules_ops;
27 : #endif
28 : struct hlist_head *fib_table_hash;
29 : struct sock *fibnl;
30 :
31 : struct sock **icmp_sk;
32 : struct sock *tcp_sock;
33 :
34 : struct netns_frags frags;
35 : #ifdef CONFIG_NETFILTER
36 : struct xt_table *iptable_filter;
37 : struct xt_table *iptable_mangle;
38 : struct xt_table *iptable_raw;
39 : struct xt_table *arptable_filter;
40 : struct xt_table *iptable_security;
41 : struct xt_table *nat_table;
42 : struct hlist_head *nat_bysource;
43 : unsigned int nat_htable_size;
44 : int nat_vmalloced;
45 : #endif
46 :
47 : int sysctl_icmp_echo_ignore_all;
48 : int sysctl_icmp_echo_ignore_broadcasts;
49 : int sysctl_icmp_ignore_bogus_error_responses;
50 : int sysctl_icmp_ratelimit;
51 : int sysctl_icmp_ratemask;
52 : int sysctl_icmp_errors_use_inbound_ifaddr;
53 : int sysctl_rt_cache_rebuild_count;
54 : int current_rt_cache_rebuild_count;
55 :
56 : struct timer_list rt_secret_timer;
57 : atomic_t rt_genid;
58 :
59 : #ifdef CONFIG_IP_MROUTE
60 1 : struct sock *mroute_sk;
61 : struct mfc_cache **mfc_cache_array;
62 : struct vif_device *vif_table;
63 : int maxvif;
64 : atomic_t cache_resolve_queue_len;
65 : int mroute_do_assert;
66 : int mroute_do_pim;
67 : #if defined(CONFIG_IP_PIMSM_V1) || defined(CONFIG_IP_PIMSM_V2)
68 : int mroute_reg_vif_num;
69 : #endif
70 : #endif
71 : };
72 : #endif
|