]>
Commit | Line | Data |
---|---|---|
8afd351c PE |
1 | /* |
2 | * ipv4 in net namespaces | |
3 | */ | |
4 | ||
5 | #ifndef __NETNS_IPV4_H__ | |
6 | #define __NETNS_IPV4_H__ | |
e4e4971c | 7 | |
7064d16e | 8 | #include <linux/uidgid.h> |
ac18e750 | 9 | #include <net/inet_frag.h> |
a7e53531 | 10 | #include <linux/rcupdate.h> |
ac18e750 | 11 | |
51c5d0c4 | 12 | struct tcpm_hash_bucket; |
752d14dc PE |
13 | struct ctl_table_header; |
14 | struct ipv4_devconf; | |
e4e4971c | 15 | struct fib_rules_ops; |
e4aef8ae | 16 | struct hlist_head; |
f4530fa5 | 17 | struct fib_table; |
6bd48fcf | 18 | struct sock; |
0bbf87d8 EB |
19 | struct local_ports { |
20 | seqlock_t lock; | |
21 | int range[2]; | |
ed2dfd90 | 22 | bool warned; |
0bbf87d8 | 23 | }; |
752d14dc | 24 | |
ba6b918a CW |
25 | struct ping_group_range { |
26 | seqlock_t lock; | |
27 | kgid_t range[2]; | |
28 | }; | |
29 | ||
8afd351c | 30 | struct netns_ipv4 { |
2a75de0c | 31 | #ifdef CONFIG_SYSCTL |
752d14dc | 32 | struct ctl_table_header *forw_hdr; |
e4a2d5c2 | 33 | struct ctl_table_header *frags_hdr; |
68528f09 | 34 | struct ctl_table_header *ipv4_hdr; |
39a23e75 | 35 | struct ctl_table_header *route_hdr; |
8d068875 | 36 | struct ctl_table_header *xfrm4_hdr; |
2a75de0c | 37 | #endif |
752d14dc PE |
38 | struct ipv4_devconf *devconf_all; |
39 | struct ipv4_devconf *devconf_dflt; | |
e4e4971c DL |
40 | #ifdef CONFIG_IP_MULTIPLE_TABLES |
41 | struct fib_rules_ops *rules_ops; | |
f4530fa5 | 42 | bool fib_has_custom_rules; |
a7e53531 AD |
43 | struct fib_table __rcu *fib_local; |
44 | struct fib_table __rcu *fib_main; | |
45 | struct fib_table __rcu *fib_default; | |
f4530fa5 DM |
46 | #endif |
47 | #ifdef CONFIG_IP_ROUTE_CLASSID | |
48 | int fib_num_tclassid_users; | |
e4e4971c | 49 | #endif |
e4aef8ae | 50 | struct hlist_head *fib_table_hash; |
448b128a | 51 | bool fib_offload_disabled; |
6bd48fcf | 52 | struct sock *fibnl; |
ac18e750 | 53 | |
349c9e3c | 54 | struct sock * __percpu *icmp_sk; |
93a714d6 | 55 | struct sock *mc_autojoin_sk; |
349c9e3c | 56 | |
c8a627ed | 57 | struct inet_peer_base *peers; |
bdbbb852 | 58 | struct sock * __percpu *tcp_sk; |
ac18e750 | 59 | struct netns_frags frags; |
9335f047 AD |
60 | #ifdef CONFIG_NETFILTER |
61 | struct xt_table *iptable_filter; | |
62 | struct xt_table *iptable_mangle; | |
63 | struct xt_table *iptable_raw; | |
9ea0cb26 | 64 | struct xt_table *arptable_filter; |
e9d3897c | 65 | #ifdef CONFIG_SECURITY |
560ee653 | 66 | struct xt_table *iptable_security; |
e9d3897c | 67 | #endif |
e099a173 | 68 | struct xt_table *nat_table; |
9335f047 | 69 | #endif |
a24022e1 PE |
70 | |
71 | int sysctl_icmp_echo_ignore_all; | |
72 | int sysctl_icmp_echo_ignore_broadcasts; | |
73 | int sysctl_icmp_ignore_bogus_error_responses; | |
74 | int sysctl_icmp_ratelimit; | |
75 | int sysctl_icmp_ratemask; | |
76 | int sysctl_icmp_errors_use_inbound_ifaddr; | |
9f5e97e5 | 77 | |
c9d8f1a6 | 78 | struct local_ports ip_local_ports; |
0bbf87d8 | 79 | |
5d134f1c | 80 | int sysctl_tcp_ecn; |
49213555 DB |
81 | int sysctl_tcp_ecn_fallback; |
82 | ||
974eda11 | 83 | int sysctl_ip_no_pmtu_disc; |
f87c10a8 | 84 | int sysctl_ip_fwd_use_pmtu; |
49a60158 | 85 | int sysctl_ip_nonlocal_bind; |
5d134f1c | 86 | |
e110861f | 87 | int sysctl_fwmark_reflect; |
84f39b08 | 88 | int sysctl_tcp_fwmark_accept; |
6dd9a14e DA |
89 | #ifdef CONFIG_NET_L3_MASTER_DEV |
90 | int sysctl_tcp_l3mdev_accept; | |
91 | #endif | |
b0f9ca53 FD |
92 | int sysctl_tcp_mtu_probing; |
93 | int sysctl_tcp_base_mss; | |
6b58e0a5 | 94 | int sysctl_tcp_probe_threshold; |
05cbc0db | 95 | u32 sysctl_tcp_probe_interval; |
e110861f | 96 | |
13b287e8 | 97 | int sysctl_tcp_keepalive_time; |
9bd6861b | 98 | int sysctl_tcp_keepalive_probes; |
b840d15d | 99 | int sysctl_tcp_keepalive_intvl; |
13b287e8 | 100 | |
6fa25166 | 101 | int sysctl_tcp_syn_retries; |
7c083ecb | 102 | int sysctl_tcp_synack_retries; |
12ed8244 | 103 | int sysctl_tcp_syncookies; |
1043e25f | 104 | int sysctl_tcp_reordering; |
ae5c3f40 | 105 | int sysctl_tcp_retries1; |
c6214a97 | 106 | int sysctl_tcp_retries2; |
c402d9be | 107 | int sysctl_tcp_orphan_retries; |
1e579caa | 108 | int sysctl_tcp_fin_timeout; |
12ed8244 | 109 | |
ba6b918a | 110 | struct ping_group_range ping_group_range; |
c319b4d7 | 111 | |
436c3b66 | 112 | atomic_t dev_addr_genid; |
70a269e6 | 113 | |
122ff243 WC |
114 | #ifdef CONFIG_SYSCTL |
115 | unsigned long *sysctl_local_reserved_ports; | |
116 | #endif | |
117 | ||
70a269e6 | 118 | #ifdef CONFIG_IP_MROUTE |
f0ad0860 | 119 | #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES |
0c12295a | 120 | struct mr_table *mrt; |
f0ad0860 PM |
121 | #else |
122 | struct list_head mr_tables; | |
123 | struct fib_rules_ops *mr_rules_ops; | |
124 | #endif | |
70a269e6 | 125 | #endif |
ca4c3fc2 | 126 | atomic_t rt_genid; |
8afd351c PE |
127 | }; |
128 | #endif |