]>
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 PE |
9 | #include <net/inet_frag.h> |
10 | ||
51c5d0c4 | 11 | struct tcpm_hash_bucket; |
752d14dc PE |
12 | struct ctl_table_header; |
13 | struct ipv4_devconf; | |
e4e4971c | 14 | struct fib_rules_ops; |
e4aef8ae | 15 | struct hlist_head; |
f4530fa5 | 16 | struct fib_table; |
6bd48fcf | 17 | struct sock; |
0bbf87d8 EB |
18 | struct local_ports { |
19 | seqlock_t lock; | |
20 | int range[2]; | |
21 | }; | |
752d14dc | 22 | |
ba6b918a CW |
23 | struct ping_group_range { |
24 | seqlock_t lock; | |
25 | kgid_t range[2]; | |
26 | }; | |
27 | ||
8afd351c | 28 | struct netns_ipv4 { |
2a75de0c | 29 | #ifdef CONFIG_SYSCTL |
752d14dc | 30 | struct ctl_table_header *forw_hdr; |
e4a2d5c2 | 31 | struct ctl_table_header *frags_hdr; |
68528f09 | 32 | struct ctl_table_header *ipv4_hdr; |
39a23e75 | 33 | struct ctl_table_header *route_hdr; |
8d068875 | 34 | struct ctl_table_header *xfrm4_hdr; |
2a75de0c | 35 | #endif |
752d14dc PE |
36 | struct ipv4_devconf *devconf_all; |
37 | struct ipv4_devconf *devconf_dflt; | |
e4e4971c DL |
38 | #ifdef CONFIG_IP_MULTIPLE_TABLES |
39 | struct fib_rules_ops *rules_ops; | |
f4530fa5 DM |
40 | bool fib_has_custom_rules; |
41 | struct fib_table *fib_local; | |
42 | struct fib_table *fib_main; | |
43 | struct fib_table *fib_default; | |
44 | #endif | |
45 | #ifdef CONFIG_IP_ROUTE_CLASSID | |
46 | int fib_num_tclassid_users; | |
e4e4971c | 47 | #endif |
e4aef8ae | 48 | struct hlist_head *fib_table_hash; |
6bd48fcf | 49 | struct sock *fibnl; |
ac18e750 | 50 | |
4a6ad7a1 | 51 | struct sock **icmp_sk; |
c8a627ed | 52 | struct inet_peer_base *peers; |
51c5d0c4 | 53 | struct tcpm_hash_bucket *tcp_metrics_hash; |
5815d5e7 | 54 | unsigned int tcp_metrics_hash_log; |
ac18e750 | 55 | struct netns_frags frags; |
9335f047 AD |
56 | #ifdef CONFIG_NETFILTER |
57 | struct xt_table *iptable_filter; | |
58 | struct xt_table *iptable_mangle; | |
59 | struct xt_table *iptable_raw; | |
9ea0cb26 | 60 | struct xt_table *arptable_filter; |
e9d3897c | 61 | #ifdef CONFIG_SECURITY |
560ee653 | 62 | struct xt_table *iptable_security; |
e9d3897c | 63 | #endif |
e099a173 | 64 | struct xt_table *nat_table; |
9335f047 | 65 | #endif |
a24022e1 PE |
66 | |
67 | int sysctl_icmp_echo_ignore_all; | |
68 | int sysctl_icmp_echo_ignore_broadcasts; | |
69 | int sysctl_icmp_ignore_bogus_error_responses; | |
70 | int sysctl_icmp_ratelimit; | |
71 | int sysctl_icmp_ratemask; | |
72 | int sysctl_icmp_errors_use_inbound_ifaddr; | |
9f5e97e5 | 73 | |
c9d8f1a6 | 74 | struct local_ports ip_local_ports; |
0bbf87d8 | 75 | |
5d134f1c | 76 | int sysctl_tcp_ecn; |
974eda11 | 77 | int sysctl_ip_no_pmtu_disc; |
f87c10a8 | 78 | int sysctl_ip_fwd_use_pmtu; |
5d134f1c | 79 | |
ba6b918a | 80 | struct ping_group_range ping_group_range; |
c319b4d7 | 81 | |
436c3b66 | 82 | atomic_t dev_addr_genid; |
70a269e6 BT |
83 | |
84 | #ifdef CONFIG_IP_MROUTE | |
f0ad0860 | 85 | #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES |
0c12295a | 86 | struct mr_table *mrt; |
f0ad0860 PM |
87 | #else |
88 | struct list_head mr_tables; | |
89 | struct fib_rules_ops *mr_rules_ops; | |
90 | #endif | |
70a269e6 | 91 | #endif |
ca4c3fc2 | 92 | atomic_t rt_genid; |
8afd351c PE |
93 | }; |
94 | #endif |