| /* |
| * ipv4 in net namespaces |
| */ |
| |
| #ifndef __NETNS_IPV4_H__ |
| #define __NETNS_IPV4_H__ |
| |
| #include <linux/uidgid.h> |
| #include <net/inet_frag.h> |
| |
| struct tcpm_hash_bucket; |
| struct ctl_table_header; |
| struct ipv4_devconf; |
| struct fib_rules_ops; |
| struct hlist_head; |
| struct fib_table; |
| struct sock; |
| struct local_ports { |
| seqlock_t lock; |
| int range[2]; |
| }; |
| |
| struct ping_group_range { |
| seqlock_t lock; |
| kgid_t range[2]; |
| }; |
| |
| struct netns_ipv4 { |
| #ifdef CONFIG_SYSCTL |
| struct ctl_table_header *forw_hdr; |
| struct ctl_table_header *frags_hdr; |
| struct ctl_table_header *ipv4_hdr; |
| struct ctl_table_header *route_hdr; |
| struct ctl_table_header *xfrm4_hdr; |
| #endif |
| struct ipv4_devconf *devconf_all; |
| struct ipv4_devconf *devconf_dflt; |
| #ifdef CONFIG_IP_MULTIPLE_TABLES |
| struct fib_rules_ops *rules_ops; |
| bool fib_has_custom_rules; |
| struct fib_table *fib_local; |
| struct fib_table *fib_main; |
| struct fib_table *fib_default; |
| #endif |
| #ifdef CONFIG_IP_ROUTE_CLASSID |
| int fib_num_tclassid_users; |
| #endif |
| struct hlist_head *fib_table_hash; |
| struct sock *fibnl; |
| |
| struct sock **icmp_sk; |
| struct inet_peer_base *peers; |
| struct tcpm_hash_bucket *tcp_metrics_hash; |
| unsigned int tcp_metrics_hash_log; |
| struct netns_frags frags; |
| #ifdef CONFIG_NETFILTER |
| struct xt_table *iptable_filter; |
| struct xt_table *iptable_mangle; |
| struct xt_table *iptable_raw; |
| struct xt_table *arptable_filter; |
| #ifdef CONFIG_SECURITY |
| struct xt_table *iptable_security; |
| #endif |
| struct xt_table *nat_table; |
| #endif |
| |
| int sysctl_icmp_echo_ignore_all; |
| int sysctl_icmp_echo_ignore_broadcasts; |
| int sysctl_icmp_ignore_bogus_error_responses; |
| int sysctl_icmp_ratelimit; |
| int sysctl_icmp_ratemask; |
| int sysctl_icmp_errors_use_inbound_ifaddr; |
| |
| struct local_ports ip_local_ports; |
| |
| int sysctl_tcp_ecn; |
| int sysctl_ip_no_pmtu_disc; |
| int sysctl_ip_fwd_use_pmtu; |
| |
| int sysctl_fwmark_reflect; |
| int sysctl_tcp_fwmark_accept; |
| |
| struct ping_group_range ping_group_range; |
| |
| atomic_t dev_addr_genid; |
| |
| #ifdef CONFIG_SYSCTL |
| unsigned long *sysctl_local_reserved_ports; |
| #endif |
| |
| #ifdef CONFIG_IP_MROUTE |
| #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES |
| struct mr_table *mrt; |
| #else |
| struct list_head mr_tables; |
| struct fib_rules_ops *mr_rules_ops; |
| #endif |
| #endif |
| atomic_t rt_genid; |
| }; |
| #endif |