ipv4: make ip_local_reserved_ports per netns
[deliverable/linux.git] / include / net / netns / ipv4.h
CommitLineData
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 11struct tcpm_hash_bucket;
752d14dc
PE
12struct ctl_table_header;
13struct ipv4_devconf;
e4e4971c 14struct fib_rules_ops;
e4aef8ae 15struct hlist_head;
f4530fa5 16struct fib_table;
6bd48fcf 17struct sock;
0bbf87d8
EB
18struct local_ports {
19 seqlock_t lock;
20 int range[2];
21};
752d14dc 22
ba6b918a
CW
23struct ping_group_range {
24 seqlock_t lock;
25 kgid_t range[2];
26};
27
8afd351c 28struct 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
e110861f 80 int sysctl_fwmark_reflect;
84f39b08 81 int sysctl_tcp_fwmark_accept;
e110861f 82
ba6b918a 83 struct ping_group_range ping_group_range;
c319b4d7 84
436c3b66 85 atomic_t dev_addr_genid;
70a269e6 86
122ff243
WC
87#ifdef CONFIG_SYSCTL
88 unsigned long *sysctl_local_reserved_ports;
89#endif
90
70a269e6 91#ifdef CONFIG_IP_MROUTE
f0ad0860 92#ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
0c12295a 93 struct mr_table *mrt;
f0ad0860
PM
94#else
95 struct list_head mr_tables;
96 struct fib_rules_ops *mr_rules_ops;
97#endif
70a269e6 98#endif
ca4c3fc2 99 atomic_t rt_genid;
8afd351c
PE
100};
101#endif
This page took 0.60154 seconds and 5 git commands to generate.