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 10struct ctl_table_header; 11struct ipv4_devconf; 12struct fib_rules_ops; 13struct hlist_head; 14struct sock; 15 16struct 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