diff options
Diffstat (limited to 'net/sctp/sysctl.c')
-rw-r--r-- | net/sctp/sysctl.c | 62 |
1 files changed, 15 insertions, 47 deletions
diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c index ab7151da120f..832590bbe0c0 100644 --- a/net/sctp/sysctl.c +++ b/net/sctp/sysctl.c | |||
@@ -52,6 +52,7 @@ static int int_max = INT_MAX; | |||
52 | static int sack_timer_min = 1; | 52 | static int sack_timer_min = 1; |
53 | static int sack_timer_max = 500; | 53 | static int sack_timer_max = 500; |
54 | static int addr_scope_max = 3; /* check sctp_scope_policy_t in include/net/sctp/constants.h for max entries */ | 54 | static int addr_scope_max = 3; /* check sctp_scope_policy_t in include/net/sctp/constants.h for max entries */ |
55 | static int rwnd_scale_max = 16; | ||
55 | 56 | ||
56 | extern int sysctl_sctp_mem[3]; | 57 | extern int sysctl_sctp_mem[3]; |
57 | extern int sysctl_sctp_rmem[3]; | 58 | extern int sysctl_sctp_rmem[3]; |
@@ -59,180 +60,145 @@ extern int sysctl_sctp_wmem[3]; | |||
59 | 60 | ||
60 | static ctl_table sctp_table[] = { | 61 | static ctl_table sctp_table[] = { |
61 | { | 62 | { |
62 | .ctl_name = NET_SCTP_RTO_INITIAL, | ||
63 | .procname = "rto_initial", | 63 | .procname = "rto_initial", |
64 | .data = &sctp_rto_initial, | 64 | .data = &sctp_rto_initial, |
65 | .maxlen = sizeof(unsigned int), | 65 | .maxlen = sizeof(unsigned int), |
66 | .mode = 0644, | 66 | .mode = 0644, |
67 | .proc_handler = proc_dointvec_minmax, | 67 | .proc_handler = proc_dointvec_minmax, |
68 | .strategy = sysctl_intvec, | ||
69 | .extra1 = &one, | 68 | .extra1 = &one, |
70 | .extra2 = &timer_max | 69 | .extra2 = &timer_max |
71 | }, | 70 | }, |
72 | { | 71 | { |
73 | .ctl_name = NET_SCTP_RTO_MIN, | ||
74 | .procname = "rto_min", | 72 | .procname = "rto_min", |
75 | .data = &sctp_rto_min, | 73 | .data = &sctp_rto_min, |
76 | .maxlen = sizeof(unsigned int), | 74 | .maxlen = sizeof(unsigned int), |
77 | .mode = 0644, | 75 | .mode = 0644, |
78 | .proc_handler = proc_dointvec_minmax, | 76 | .proc_handler = proc_dointvec_minmax, |
79 | .strategy = sysctl_intvec, | ||
80 | .extra1 = &one, | 77 | .extra1 = &one, |
81 | .extra2 = &timer_max | 78 | .extra2 = &timer_max |
82 | }, | 79 | }, |
83 | { | 80 | { |
84 | .ctl_name = NET_SCTP_RTO_MAX, | ||
85 | .procname = "rto_max", | 81 | .procname = "rto_max", |
86 | .data = &sctp_rto_max, | 82 | .data = &sctp_rto_max, |
87 | .maxlen = sizeof(unsigned int), | 83 | .maxlen = sizeof(unsigned int), |
88 | .mode = 0644, | 84 | .mode = 0644, |
89 | .proc_handler = proc_dointvec_minmax, | 85 | .proc_handler = proc_dointvec_minmax, |
90 | .strategy = sysctl_intvec, | ||
91 | .extra1 = &one, | 86 | .extra1 = &one, |
92 | .extra2 = &timer_max | 87 | .extra2 = &timer_max |
93 | }, | 88 | }, |
94 | { | 89 | { |
95 | .ctl_name = NET_SCTP_VALID_COOKIE_LIFE, | ||
96 | .procname = "valid_cookie_life", | 90 | .procname = "valid_cookie_life", |
97 | .data = &sctp_valid_cookie_life, | 91 | .data = &sctp_valid_cookie_life, |
98 | .maxlen = sizeof(unsigned int), | 92 | .maxlen = sizeof(unsigned int), |
99 | .mode = 0644, | 93 | .mode = 0644, |
100 | .proc_handler = proc_dointvec_minmax, | 94 | .proc_handler = proc_dointvec_minmax, |
101 | .strategy = sysctl_intvec, | ||
102 | .extra1 = &one, | 95 | .extra1 = &one, |
103 | .extra2 = &timer_max | 96 | .extra2 = &timer_max |
104 | }, | 97 | }, |
105 | { | 98 | { |
106 | .ctl_name = NET_SCTP_MAX_BURST, | ||
107 | .procname = "max_burst", | 99 | .procname = "max_burst", |
108 | .data = &sctp_max_burst, | 100 | .data = &sctp_max_burst, |
109 | .maxlen = sizeof(int), | 101 | .maxlen = sizeof(int), |
110 | .mode = 0644, | 102 | .mode = 0644, |
111 | .proc_handler = proc_dointvec_minmax, | 103 | .proc_handler = proc_dointvec_minmax, |
112 | .strategy = sysctl_intvec, | ||
113 | .extra1 = &zero, | 104 | .extra1 = &zero, |
114 | .extra2 = &int_max | 105 | .extra2 = &int_max |
115 | }, | 106 | }, |
116 | { | 107 | { |
117 | .ctl_name = NET_SCTP_ASSOCIATION_MAX_RETRANS, | ||
118 | .procname = "association_max_retrans", | 108 | .procname = "association_max_retrans", |
119 | .data = &sctp_max_retrans_association, | 109 | .data = &sctp_max_retrans_association, |
120 | .maxlen = sizeof(int), | 110 | .maxlen = sizeof(int), |
121 | .mode = 0644, | 111 | .mode = 0644, |
122 | .proc_handler = proc_dointvec_minmax, | 112 | .proc_handler = proc_dointvec_minmax, |
123 | .strategy = sysctl_intvec, | ||
124 | .extra1 = &one, | 113 | .extra1 = &one, |
125 | .extra2 = &int_max | 114 | .extra2 = &int_max |
126 | }, | 115 | }, |
127 | { | 116 | { |
128 | .ctl_name = NET_SCTP_SNDBUF_POLICY, | ||
129 | .procname = "sndbuf_policy", | 117 | .procname = "sndbuf_policy", |
130 | .data = &sctp_sndbuf_policy, | 118 | .data = &sctp_sndbuf_policy, |
131 | .maxlen = sizeof(int), | 119 | .maxlen = sizeof(int), |
132 | .mode = 0644, | 120 | .mode = 0644, |
133 | .proc_handler = proc_dointvec, | 121 | .proc_handler = proc_dointvec, |
134 | .strategy = sysctl_intvec | ||
135 | }, | 122 | }, |
136 | { | 123 | { |
137 | .ctl_name = NET_SCTP_RCVBUF_POLICY, | ||
138 | .procname = "rcvbuf_policy", | 124 | .procname = "rcvbuf_policy", |
139 | .data = &sctp_rcvbuf_policy, | 125 | .data = &sctp_rcvbuf_policy, |
140 | .maxlen = sizeof(int), | 126 | .maxlen = sizeof(int), |
141 | .mode = 0644, | 127 | .mode = 0644, |
142 | .proc_handler = proc_dointvec, | 128 | .proc_handler = proc_dointvec, |
143 | .strategy = sysctl_intvec | ||
144 | }, | 129 | }, |
145 | { | 130 | { |
146 | .ctl_name = NET_SCTP_PATH_MAX_RETRANS, | ||
147 | .procname = "path_max_retrans", | 131 | .procname = "path_max_retrans", |
148 | .data = &sctp_max_retrans_path, | 132 | .data = &sctp_max_retrans_path, |
149 | .maxlen = sizeof(int), | 133 | .maxlen = sizeof(int), |
150 | .mode = 0644, | 134 | .mode = 0644, |
151 | .proc_handler = proc_dointvec_minmax, | 135 | .proc_handler = proc_dointvec_minmax, |
152 | .strategy = sysctl_intvec, | ||
153 | .extra1 = &one, | 136 | .extra1 = &one, |
154 | .extra2 = &int_max | 137 | .extra2 = &int_max |
155 | }, | 138 | }, |
156 | { | 139 | { |
157 | .ctl_name = NET_SCTP_MAX_INIT_RETRANSMITS, | ||
158 | .procname = "max_init_retransmits", | 140 | .procname = "max_init_retransmits", |
159 | .data = &sctp_max_retrans_init, | 141 | .data = &sctp_max_retrans_init, |
160 | .maxlen = sizeof(int), | 142 | .maxlen = sizeof(int), |
161 | .mode = 0644, | 143 | .mode = 0644, |
162 | .proc_handler = proc_dointvec_minmax, | 144 | .proc_handler = proc_dointvec_minmax, |
163 | .strategy = sysctl_intvec, | ||
164 | .extra1 = &one, | 145 | .extra1 = &one, |
165 | .extra2 = &int_max | 146 | .extra2 = &int_max |
166 | }, | 147 | }, |
167 | { | 148 | { |
168 | .ctl_name = NET_SCTP_HB_INTERVAL, | ||
169 | .procname = "hb_interval", | 149 | .procname = "hb_interval", |
170 | .data = &sctp_hb_interval, | 150 | .data = &sctp_hb_interval, |
171 | .maxlen = sizeof(unsigned int), | 151 | .maxlen = sizeof(unsigned int), |
172 | .mode = 0644, | 152 | .mode = 0644, |
173 | .proc_handler = proc_dointvec_minmax, | 153 | .proc_handler = proc_dointvec_minmax, |
174 | .strategy = sysctl_intvec, | ||
175 | .extra1 = &one, | 154 | .extra1 = &one, |
176 | .extra2 = &timer_max | 155 | .extra2 = &timer_max |
177 | }, | 156 | }, |
178 | { | 157 | { |
179 | .ctl_name = NET_SCTP_PRESERVE_ENABLE, | ||
180 | .procname = "cookie_preserve_enable", | 158 | .procname = "cookie_preserve_enable", |
181 | .data = &sctp_cookie_preserve_enable, | 159 | .data = &sctp_cookie_preserve_enable, |
182 | .maxlen = sizeof(int), | 160 | .maxlen = sizeof(int), |
183 | .mode = 0644, | 161 | .mode = 0644, |
184 | .proc_handler = proc_dointvec, | 162 | .proc_handler = proc_dointvec, |
185 | .strategy = sysctl_intvec | ||
186 | }, | 163 | }, |
187 | { | 164 | { |
188 | .ctl_name = NET_SCTP_RTO_ALPHA, | ||
189 | .procname = "rto_alpha_exp_divisor", | 165 | .procname = "rto_alpha_exp_divisor", |
190 | .data = &sctp_rto_alpha, | 166 | .data = &sctp_rto_alpha, |
191 | .maxlen = sizeof(int), | 167 | .maxlen = sizeof(int), |
192 | .mode = 0444, | 168 | .mode = 0444, |
193 | .proc_handler = proc_dointvec, | 169 | .proc_handler = proc_dointvec, |
194 | .strategy = sysctl_intvec | ||
195 | }, | 170 | }, |
196 | { | 171 | { |
197 | .ctl_name = NET_SCTP_RTO_BETA, | ||
198 | .procname = "rto_beta_exp_divisor", | 172 | .procname = "rto_beta_exp_divisor", |
199 | .data = &sctp_rto_beta, | 173 | .data = &sctp_rto_beta, |
200 | .maxlen = sizeof(int), | 174 | .maxlen = sizeof(int), |
201 | .mode = 0444, | 175 | .mode = 0444, |
202 | .proc_handler = proc_dointvec, | 176 | .proc_handler = proc_dointvec, |
203 | .strategy = sysctl_intvec | ||
204 | }, | 177 | }, |
205 | { | 178 | { |
206 | .ctl_name = NET_SCTP_ADDIP_ENABLE, | ||
207 | .procname = "addip_enable", | 179 | .procname = "addip_enable", |
208 | .data = &sctp_addip_enable, | 180 | .data = &sctp_addip_enable, |
209 | .maxlen = sizeof(int), | 181 | .maxlen = sizeof(int), |
210 | .mode = 0644, | 182 | .mode = 0644, |
211 | .proc_handler = proc_dointvec, | 183 | .proc_handler = proc_dointvec, |
212 | .strategy = sysctl_intvec | ||
213 | }, | 184 | }, |
214 | { | 185 | { |
215 | .ctl_name = NET_SCTP_PRSCTP_ENABLE, | ||
216 | .procname = "prsctp_enable", | 186 | .procname = "prsctp_enable", |
217 | .data = &sctp_prsctp_enable, | 187 | .data = &sctp_prsctp_enable, |
218 | .maxlen = sizeof(int), | 188 | .maxlen = sizeof(int), |
219 | .mode = 0644, | 189 | .mode = 0644, |
220 | .proc_handler = proc_dointvec, | 190 | .proc_handler = proc_dointvec, |
221 | .strategy = sysctl_intvec | ||
222 | }, | 191 | }, |
223 | { | 192 | { |
224 | .ctl_name = NET_SCTP_SACK_TIMEOUT, | ||
225 | .procname = "sack_timeout", | 193 | .procname = "sack_timeout", |
226 | .data = &sctp_sack_timeout, | 194 | .data = &sctp_sack_timeout, |
227 | .maxlen = sizeof(int), | 195 | .maxlen = sizeof(int), |
228 | .mode = 0644, | 196 | .mode = 0644, |
229 | .proc_handler = proc_dointvec_minmax, | 197 | .proc_handler = proc_dointvec_minmax, |
230 | .strategy = sysctl_intvec, | ||
231 | .extra1 = &sack_timer_min, | 198 | .extra1 = &sack_timer_min, |
232 | .extra2 = &sack_timer_max, | 199 | .extra2 = &sack_timer_max, |
233 | }, | 200 | }, |
234 | { | 201 | { |
235 | .ctl_name = CTL_UNNUMBERED, | ||
236 | .procname = "sctp_mem", | 202 | .procname = "sctp_mem", |
237 | .data = &sysctl_sctp_mem, | 203 | .data = &sysctl_sctp_mem, |
238 | .maxlen = sizeof(sysctl_sctp_mem), | 204 | .maxlen = sizeof(sysctl_sctp_mem), |
@@ -240,7 +206,6 @@ static ctl_table sctp_table[] = { | |||
240 | .proc_handler = proc_dointvec, | 206 | .proc_handler = proc_dointvec, |
241 | }, | 207 | }, |
242 | { | 208 | { |
243 | .ctl_name = CTL_UNNUMBERED, | ||
244 | .procname = "sctp_rmem", | 209 | .procname = "sctp_rmem", |
245 | .data = &sysctl_sctp_rmem, | 210 | .data = &sysctl_sctp_rmem, |
246 | .maxlen = sizeof(sysctl_sctp_rmem), | 211 | .maxlen = sizeof(sysctl_sctp_rmem), |
@@ -248,7 +213,6 @@ static ctl_table sctp_table[] = { | |||
248 | .proc_handler = proc_dointvec, | 213 | .proc_handler = proc_dointvec, |
249 | }, | 214 | }, |
250 | { | 215 | { |
251 | .ctl_name = CTL_UNNUMBERED, | ||
252 | .procname = "sctp_wmem", | 216 | .procname = "sctp_wmem", |
253 | .data = &sysctl_sctp_wmem, | 217 | .data = &sysctl_sctp_wmem, |
254 | .maxlen = sizeof(sysctl_sctp_wmem), | 218 | .maxlen = sizeof(sysctl_sctp_wmem), |
@@ -256,40 +220,44 @@ static ctl_table sctp_table[] = { | |||
256 | .proc_handler = proc_dointvec, | 220 | .proc_handler = proc_dointvec, |
257 | }, | 221 | }, |
258 | { | 222 | { |
259 | .ctl_name = CTL_UNNUMBERED, | ||
260 | .procname = "auth_enable", | 223 | .procname = "auth_enable", |
261 | .data = &sctp_auth_enable, | 224 | .data = &sctp_auth_enable, |
262 | .maxlen = sizeof(int), | 225 | .maxlen = sizeof(int), |
263 | .mode = 0644, | 226 | .mode = 0644, |
264 | .proc_handler = proc_dointvec, | 227 | .proc_handler = proc_dointvec, |
265 | .strategy = sysctl_intvec | ||
266 | }, | 228 | }, |
267 | { | 229 | { |
268 | .ctl_name = CTL_UNNUMBERED, | ||
269 | .procname = "addip_noauth_enable", | 230 | .procname = "addip_noauth_enable", |
270 | .data = &sctp_addip_noauth, | 231 | .data = &sctp_addip_noauth, |
271 | .maxlen = sizeof(int), | 232 | .maxlen = sizeof(int), |
272 | .mode = 0644, | 233 | .mode = 0644, |
273 | .proc_handler = proc_dointvec, | 234 | .proc_handler = proc_dointvec, |
274 | .strategy = sysctl_intvec | ||
275 | }, | 235 | }, |
276 | { | 236 | { |
277 | .ctl_name = CTL_UNNUMBERED, | ||
278 | .procname = "addr_scope_policy", | 237 | .procname = "addr_scope_policy", |
279 | .data = &sctp_scope_policy, | 238 | .data = &sctp_scope_policy, |
280 | .maxlen = sizeof(int), | 239 | .maxlen = sizeof(int), |
281 | .mode = 0644, | 240 | .mode = 0644, |
282 | .proc_handler = &proc_dointvec_minmax, | 241 | .proc_handler = proc_dointvec_minmax, |
283 | .strategy = &sysctl_intvec, | ||
284 | .extra1 = &zero, | 242 | .extra1 = &zero, |
285 | .extra2 = &addr_scope_max, | 243 | .extra2 = &addr_scope_max, |
286 | }, | 244 | }, |
287 | { .ctl_name = 0 } | 245 | { |
246 | .procname = "rwnd_update_shift", | ||
247 | .data = &sctp_rwnd_upd_shift, | ||
248 | .maxlen = sizeof(int), | ||
249 | .mode = 0644, | ||
250 | .proc_handler = &proc_dointvec_minmax, | ||
251 | .extra1 = &one, | ||
252 | .extra2 = &rwnd_scale_max, | ||
253 | }, | ||
254 | |||
255 | { /* sentinel */ } | ||
288 | }; | 256 | }; |
289 | 257 | ||
290 | static struct ctl_path sctp_path[] = { | 258 | static struct ctl_path sctp_path[] = { |
291 | { .procname = "net", .ctl_name = CTL_NET, }, | 259 | { .procname = "net", }, |
292 | { .procname = "sctp", .ctl_name = NET_SCTP, }, | 260 | { .procname = "sctp", }, |
293 | { } | 261 | { } |
294 | }; | 262 | }; |
295 | 263 | ||