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 #ifdef CONFIG_SECURITY 41 struct xt_table *iptable_security; 42 #endif 43 struct xt_table *nat_table; 44 struct hlist_head *nat_bysource; 45 unsigned int nat_htable_size; 46 #endif 47 48 int sysctl_icmp_echo_ignore_all; 49 int sysctl_icmp_echo_ignore_broadcasts; 50 int sysctl_icmp_ignore_bogus_error_responses; 51 int sysctl_icmp_ratelimit; 52 int sysctl_icmp_ratemask; 53 int sysctl_icmp_errors_use_inbound_ifaddr; 54 int sysctl_rt_cache_rebuild_count; 55 int current_rt_cache_rebuild_count; 56 57 unsigned int sysctl_ping_group_range[2]; 58 long sysctl_tcp_mem[3]; 59 60 atomic_t rt_genid; 61 atomic_t dev_addr_genid; 62 63 #ifdef CONFIG_IP_MROUTE 64 #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES 65 struct mr_table *mrt; 66 #else 67 struct list_head mr_tables; 68 struct fib_rules_ops *mr_rules_ops; 69 #endif 70 #endif 71 }; 72 #endif 73