Blame view
net/dccp/sysctl.c
2.65 KB
e46bd7099 treewide: Replace... |
1 |
// SPDX-License-Identifier: GPL-2.0-only |
e55d912f5 [DCCP] feat: Intr... |
2 3 4 5 6 |
/* * net/dccp/sysctl.c * * An implementation of the DCCP protocol * Arnaldo Carvalho de Melo <acme@mandriva.com> |
e55d912f5 [DCCP] feat: Intr... |
7 |
*/ |
e55d912f5 [DCCP] feat: Intr... |
8 9 |
#include <linux/mm.h> #include <linux/sysctl.h> |
2e2e9e92b [DCCP]: Add sysct... |
10 |
#include "dccp.h" |
2a0109a70 [DCCP]: Shift sys... |
11 |
#include "feat.h" |
e55d912f5 [DCCP] feat: Intr... |
12 13 14 15 |
#ifndef CONFIG_SYSCTL #error This file should not be compiled without CONFIG_SYSCTL defined #endif |
883ca833e dccp: Initialisat... |
16 |
/* Boundary values */ |
eec4844fa proc/sysctl: add ... |
17 |
static int u8_max = 0xFF; |
bfbb23466 dccp: make upper ... |
18 19 |
static unsigned long seqw_min = DCCPF_SEQ_WMIN, seqw_max = 0xFFFFFFFF; /* maximum on 32 bit */ |
883ca833e dccp: Initialisat... |
20 |
|
e55d912f5 [DCCP] feat: Intr... |
21 22 |
static struct ctl_table dccp_default_table[] = { { |
e55d912f5 [DCCP] feat: Intr... |
23 |
.procname = "seq_window", |
883ca833e dccp: Initialisat... |
24 25 |
.data = &sysctl_dccp_sequence_window, .maxlen = sizeof(sysctl_dccp_sequence_window), |
e55d912f5 [DCCP] feat: Intr... |
26 |
.mode = 0644, |
883ca833e dccp: Initialisat... |
27 28 |
.proc_handler = proc_doulongvec_minmax, .extra1 = &seqw_min, /* RFC 4340, 7.5.2 */ |
bfbb23466 dccp: make upper ... |
29 |
.extra2 = &seqw_max, |
e55d912f5 [DCCP] feat: Intr... |
30 31 |
}, { |
e55d912f5 [DCCP] feat: Intr... |
32 |
.procname = "rx_ccid", |
883ca833e dccp: Initialisat... |
33 34 |
.data = &sysctl_dccp_rx_ccid, .maxlen = sizeof(sysctl_dccp_rx_ccid), |
e55d912f5 [DCCP] feat: Intr... |
35 |
.mode = 0644, |
883ca833e dccp: Initialisat... |
36 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
37 |
.extra1 = SYSCTL_ZERO, |
883ca833e dccp: Initialisat... |
38 |
.extra2 = &u8_max, /* RFC 4340, 10. */ |
e55d912f5 [DCCP] feat: Intr... |
39 40 |
}, { |
e55d912f5 [DCCP] feat: Intr... |
41 |
.procname = "tx_ccid", |
883ca833e dccp: Initialisat... |
42 43 |
.data = &sysctl_dccp_tx_ccid, .maxlen = sizeof(sysctl_dccp_tx_ccid), |
e55d912f5 [DCCP] feat: Intr... |
44 |
.mode = 0644, |
883ca833e dccp: Initialisat... |
45 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
46 |
.extra1 = SYSCTL_ZERO, |
883ca833e dccp: Initialisat... |
47 |
.extra2 = &u8_max, /* RFC 4340, 10. */ |
e55d912f5 [DCCP] feat: Intr... |
48 49 |
}, { |
2e2e9e92b [DCCP]: Add sysct... |
50 51 52 53 |
.procname = "request_retries", .data = &sysctl_dccp_request_retries, .maxlen = sizeof(sysctl_dccp_request_retries), .mode = 0644, |
883ca833e dccp: Initialisat... |
54 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
55 |
.extra1 = SYSCTL_ONE, |
883ca833e dccp: Initialisat... |
56 |
.extra2 = &u8_max, |
2e2e9e92b [DCCP]: Add sysct... |
57 58 |
}, { |
2e2e9e92b [DCCP]: Add sysct... |
59 60 61 62 |
.procname = "retries1", .data = &sysctl_dccp_retries1, .maxlen = sizeof(sysctl_dccp_retries1), .mode = 0644, |
883ca833e dccp: Initialisat... |
63 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
64 |
.extra1 = SYSCTL_ZERO, |
883ca833e dccp: Initialisat... |
65 |
.extra2 = &u8_max, |
2e2e9e92b [DCCP]: Add sysct... |
66 67 |
}, { |
2e2e9e92b [DCCP]: Add sysct... |
68 69 70 71 |
.procname = "retries2", .data = &sysctl_dccp_retries2, .maxlen = sizeof(sysctl_dccp_retries2), .mode = 0644, |
883ca833e dccp: Initialisat... |
72 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
73 |
.extra1 = SYSCTL_ZERO, |
883ca833e dccp: Initialisat... |
74 |
.extra2 = &u8_max, |
2e2e9e92b [DCCP]: Add sysct... |
75 |
}, |
82e3ab9db [DCCP]: Adds the ... |
76 |
{ |
82e3ab9db [DCCP]: Adds the ... |
77 78 79 80 |
.procname = "tx_qlen", .data = &sysctl_dccp_tx_qlen, .maxlen = sizeof(sysctl_dccp_tx_qlen), .mode = 0644, |
883ca833e dccp: Initialisat... |
81 |
.proc_handler = proc_dointvec_minmax, |
eec4844fa proc/sysctl: add ... |
82 |
.extra1 = SYSCTL_ZERO, |
82e3ab9db [DCCP]: Adds the ... |
83 |
}, |
a94f0f970 [DCCP]: Rate-limi... |
84 85 86 87 88 89 90 |
{ .procname = "sync_ratelimit", .data = &sysctl_dccp_sync_ratelimit, .maxlen = sizeof(sysctl_dccp_sync_ratelimit), .mode = 0644, .proc_handler = proc_dointvec_ms_jiffies, }, |
82e3ab9db [DCCP]: Adds the ... |
91 |
|
f8572d8f2 sysctl net: Remov... |
92 |
{ } |
e55d912f5 [DCCP] feat: Intr... |
93 |
}; |
e55d912f5 [DCCP] feat: Intr... |
94 95 96 97 |
static struct ctl_table_header *dccp_table_header; int __init dccp_sysctl_init(void) { |
ec8f23ce0 net: Convert all ... |
98 |
dccp_table_header = register_net_sysctl(&init_net, "net/dccp/default", |
b5ccd792f [NET]: Simple ctl... |
99 |
dccp_default_table); |
e55d912f5 [DCCP] feat: Intr... |
100 101 102 103 104 105 106 |
return dccp_table_header != NULL ? 0 : -ENOMEM; } void dccp_sysctl_exit(void) { if (dccp_table_header != NULL) { |
5dd3df105 net: Move all of ... |
107 |
unregister_net_sysctl_table(dccp_table_header); |
e55d912f5 [DCCP] feat: Intr... |
108 109 110 |
dccp_table_header = NULL; } } |