diff options
Diffstat (limited to 'net/ax25/sysctl_net_ax25.c')
-rw-r--r-- | net/ax25/sysctl_net_ax25.c | 39 |
1 files changed, 5 insertions, 34 deletions
diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c index 62ee3fb34732..ebe0ef3f1d83 100644 --- a/net/ax25/sysctl_net_ax25.c +++ b/net/ax25/sysctl_net_ax25.c | |||
@@ -7,6 +7,7 @@ | |||
7 | * Copyright (C) 1996 Mike Shaver (shaver@zeroknowledge.com) | 7 | * Copyright (C) 1996 Mike Shaver (shaver@zeroknowledge.com) |
8 | */ | 8 | */ |
9 | #include <linux/mm.h> | 9 | #include <linux/mm.h> |
10 | #include <linux/slab.h> | ||
10 | #include <linux/sysctl.h> | 11 | #include <linux/sysctl.h> |
11 | #include <linux/spinlock.h> | 12 | #include <linux/spinlock.h> |
12 | #include <net/ax25.h> | 13 | #include <net/ax25.h> |
@@ -34,156 +35,128 @@ static ctl_table *ax25_table; | |||
34 | static int ax25_table_size; | 35 | static int ax25_table_size; |
35 | 36 | ||
36 | static struct ctl_path ax25_path[] = { | 37 | static struct ctl_path ax25_path[] = { |
37 | { .procname = "net", .ctl_name = CTL_NET, }, | 38 | { .procname = "net", }, |
38 | { .procname = "ax25", .ctl_name = NET_AX25, }, | 39 | { .procname = "ax25", }, |
39 | { } | 40 | { } |
40 | }; | 41 | }; |
41 | 42 | ||
42 | static const ctl_table ax25_param_table[] = { | 43 | static const ctl_table ax25_param_table[] = { |
43 | { | 44 | { |
44 | .ctl_name = NET_AX25_IP_DEFAULT_MODE, | ||
45 | .procname = "ip_default_mode", | 45 | .procname = "ip_default_mode", |
46 | .maxlen = sizeof(int), | 46 | .maxlen = sizeof(int), |
47 | .mode = 0644, | 47 | .mode = 0644, |
48 | .proc_handler = proc_dointvec_minmax, | 48 | .proc_handler = proc_dointvec_minmax, |
49 | .strategy = sysctl_intvec, | ||
50 | .extra1 = &min_ipdefmode, | 49 | .extra1 = &min_ipdefmode, |
51 | .extra2 = &max_ipdefmode | 50 | .extra2 = &max_ipdefmode |
52 | }, | 51 | }, |
53 | { | 52 | { |
54 | .ctl_name = NET_AX25_DEFAULT_MODE, | ||
55 | .procname = "ax25_default_mode", | 53 | .procname = "ax25_default_mode", |
56 | .maxlen = sizeof(int), | 54 | .maxlen = sizeof(int), |
57 | .mode = 0644, | 55 | .mode = 0644, |
58 | .proc_handler = proc_dointvec_minmax, | 56 | .proc_handler = proc_dointvec_minmax, |
59 | .strategy = sysctl_intvec, | ||
60 | .extra1 = &min_axdefmode, | 57 | .extra1 = &min_axdefmode, |
61 | .extra2 = &max_axdefmode | 58 | .extra2 = &max_axdefmode |
62 | }, | 59 | }, |
63 | { | 60 | { |
64 | .ctl_name = NET_AX25_BACKOFF_TYPE, | ||
65 | .procname = "backoff_type", | 61 | .procname = "backoff_type", |
66 | .maxlen = sizeof(int), | 62 | .maxlen = sizeof(int), |
67 | .mode = 0644, | 63 | .mode = 0644, |
68 | .proc_handler = proc_dointvec_minmax, | 64 | .proc_handler = proc_dointvec_minmax, |
69 | .strategy = sysctl_intvec, | ||
70 | .extra1 = &min_backoff, | 65 | .extra1 = &min_backoff, |
71 | .extra2 = &max_backoff | 66 | .extra2 = &max_backoff |
72 | }, | 67 | }, |
73 | { | 68 | { |
74 | .ctl_name = NET_AX25_CONNECT_MODE, | ||
75 | .procname = "connect_mode", | 69 | .procname = "connect_mode", |
76 | .maxlen = sizeof(int), | 70 | .maxlen = sizeof(int), |
77 | .mode = 0644, | 71 | .mode = 0644, |
78 | .proc_handler = proc_dointvec_minmax, | 72 | .proc_handler = proc_dointvec_minmax, |
79 | .strategy = sysctl_intvec, | ||
80 | .extra1 = &min_conmode, | 73 | .extra1 = &min_conmode, |
81 | .extra2 = &max_conmode | 74 | .extra2 = &max_conmode |
82 | }, | 75 | }, |
83 | { | 76 | { |
84 | .ctl_name = NET_AX25_STANDARD_WINDOW, | ||
85 | .procname = "standard_window_size", | 77 | .procname = "standard_window_size", |
86 | .maxlen = sizeof(int), | 78 | .maxlen = sizeof(int), |
87 | .mode = 0644, | 79 | .mode = 0644, |
88 | .proc_handler = proc_dointvec_minmax, | 80 | .proc_handler = proc_dointvec_minmax, |
89 | .strategy = sysctl_intvec, | ||
90 | .extra1 = &min_window, | 81 | .extra1 = &min_window, |
91 | .extra2 = &max_window | 82 | .extra2 = &max_window |
92 | }, | 83 | }, |
93 | { | 84 | { |
94 | .ctl_name = NET_AX25_EXTENDED_WINDOW, | ||
95 | .procname = "extended_window_size", | 85 | .procname = "extended_window_size", |
96 | .maxlen = sizeof(int), | 86 | .maxlen = sizeof(int), |
97 | .mode = 0644, | 87 | .mode = 0644, |
98 | .proc_handler = proc_dointvec_minmax, | 88 | .proc_handler = proc_dointvec_minmax, |
99 | .strategy = sysctl_intvec, | ||
100 | .extra1 = &min_ewindow, | 89 | .extra1 = &min_ewindow, |
101 | .extra2 = &max_ewindow | 90 | .extra2 = &max_ewindow |
102 | }, | 91 | }, |
103 | { | 92 | { |
104 | .ctl_name = NET_AX25_T1_TIMEOUT, | ||
105 | .procname = "t1_timeout", | 93 | .procname = "t1_timeout", |
106 | .maxlen = sizeof(int), | 94 | .maxlen = sizeof(int), |
107 | .mode = 0644, | 95 | .mode = 0644, |
108 | .proc_handler = proc_dointvec_minmax, | 96 | .proc_handler = proc_dointvec_minmax, |
109 | .strategy = sysctl_intvec, | ||
110 | .extra1 = &min_t1, | 97 | .extra1 = &min_t1, |
111 | .extra2 = &max_t1 | 98 | .extra2 = &max_t1 |
112 | }, | 99 | }, |
113 | { | 100 | { |
114 | .ctl_name = NET_AX25_T2_TIMEOUT, | ||
115 | .procname = "t2_timeout", | 101 | .procname = "t2_timeout", |
116 | .maxlen = sizeof(int), | 102 | .maxlen = sizeof(int), |
117 | .mode = 0644, | 103 | .mode = 0644, |
118 | .proc_handler = proc_dointvec_minmax, | 104 | .proc_handler = proc_dointvec_minmax, |
119 | .strategy = sysctl_intvec, | ||
120 | .extra1 = &min_t2, | 105 | .extra1 = &min_t2, |
121 | .extra2 = &max_t2 | 106 | .extra2 = &max_t2 |
122 | }, | 107 | }, |
123 | { | 108 | { |
124 | .ctl_name = NET_AX25_T3_TIMEOUT, | ||
125 | .procname = "t3_timeout", | 109 | .procname = "t3_timeout", |
126 | .maxlen = sizeof(int), | 110 | .maxlen = sizeof(int), |
127 | .mode = 0644, | 111 | .mode = 0644, |
128 | .proc_handler = proc_dointvec_minmax, | 112 | .proc_handler = proc_dointvec_minmax, |
129 | .strategy = sysctl_intvec, | ||
130 | .extra1 = &min_t3, | 113 | .extra1 = &min_t3, |
131 | .extra2 = &max_t3 | 114 | .extra2 = &max_t3 |
132 | }, | 115 | }, |
133 | { | 116 | { |
134 | .ctl_name = NET_AX25_IDLE_TIMEOUT, | ||
135 | .procname = "idle_timeout", | 117 | .procname = "idle_timeout", |
136 | .maxlen = sizeof(int), | 118 | .maxlen = sizeof(int), |
137 | .mode = 0644, | 119 | .mode = 0644, |
138 | .proc_handler = proc_dointvec_minmax, | 120 | .proc_handler = proc_dointvec_minmax, |
139 | .strategy = sysctl_intvec, | ||
140 | .extra1 = &min_idle, | 121 | .extra1 = &min_idle, |
141 | .extra2 = &max_idle | 122 | .extra2 = &max_idle |
142 | }, | 123 | }, |
143 | { | 124 | { |
144 | .ctl_name = NET_AX25_N2, | ||
145 | .procname = "maximum_retry_count", | 125 | .procname = "maximum_retry_count", |
146 | .maxlen = sizeof(int), | 126 | .maxlen = sizeof(int), |
147 | .mode = 0644, | 127 | .mode = 0644, |
148 | .proc_handler = proc_dointvec_minmax, | 128 | .proc_handler = proc_dointvec_minmax, |
149 | .strategy = sysctl_intvec, | ||
150 | .extra1 = &min_n2, | 129 | .extra1 = &min_n2, |
151 | .extra2 = &max_n2 | 130 | .extra2 = &max_n2 |
152 | }, | 131 | }, |
153 | { | 132 | { |
154 | .ctl_name = NET_AX25_PACLEN, | ||
155 | .procname = "maximum_packet_length", | 133 | .procname = "maximum_packet_length", |
156 | .maxlen = sizeof(int), | 134 | .maxlen = sizeof(int), |
157 | .mode = 0644, | 135 | .mode = 0644, |
158 | .proc_handler = proc_dointvec_minmax, | 136 | .proc_handler = proc_dointvec_minmax, |
159 | .strategy = sysctl_intvec, | ||
160 | .extra1 = &min_paclen, | 137 | .extra1 = &min_paclen, |
161 | .extra2 = &max_paclen | 138 | .extra2 = &max_paclen |
162 | }, | 139 | }, |
163 | { | 140 | { |
164 | .ctl_name = NET_AX25_PROTOCOL, | ||
165 | .procname = "protocol", | 141 | .procname = "protocol", |
166 | .maxlen = sizeof(int), | 142 | .maxlen = sizeof(int), |
167 | .mode = 0644, | 143 | .mode = 0644, |
168 | .proc_handler = proc_dointvec_minmax, | 144 | .proc_handler = proc_dointvec_minmax, |
169 | .strategy = sysctl_intvec, | ||
170 | .extra1 = &min_proto, | 145 | .extra1 = &min_proto, |
171 | .extra2 = &max_proto | 146 | .extra2 = &max_proto |
172 | }, | 147 | }, |
173 | #ifdef CONFIG_AX25_DAMA_SLAVE | 148 | #ifdef CONFIG_AX25_DAMA_SLAVE |
174 | { | 149 | { |
175 | .ctl_name = NET_AX25_DAMA_SLAVE_TIMEOUT, | ||
176 | .procname = "dama_slave_timeout", | 150 | .procname = "dama_slave_timeout", |
177 | .maxlen = sizeof(int), | 151 | .maxlen = sizeof(int), |
178 | .mode = 0644, | 152 | .mode = 0644, |
179 | .proc_handler = proc_dointvec_minmax, | 153 | .proc_handler = proc_dointvec_minmax, |
180 | .strategy = sysctl_intvec, | ||
181 | .extra1 = &min_ds_timeout, | 154 | .extra1 = &min_ds_timeout, |
182 | .extra2 = &max_ds_timeout | 155 | .extra2 = &max_ds_timeout |
183 | }, | 156 | }, |
184 | #endif | 157 | #endif |
185 | 158 | ||
186 | { .ctl_name = 0 } /* that's all, folks! */ | 159 | { } /* that's all, folks! */ |
187 | }; | 160 | }; |
188 | 161 | ||
189 | void ax25_register_sysctl(void) | 162 | void ax25_register_sysctl(void) |
@@ -212,11 +185,9 @@ void ax25_register_sysctl(void) | |||
212 | return; | 185 | return; |
213 | } | 186 | } |
214 | ax25_table[n].child = ax25_dev->systable = child; | 187 | ax25_table[n].child = ax25_dev->systable = child; |
215 | ax25_table[n].ctl_name = n + 1; | ||
216 | ax25_table[n].procname = ax25_dev->dev->name; | 188 | ax25_table[n].procname = ax25_dev->dev->name; |
217 | ax25_table[n].mode = 0555; | 189 | ax25_table[n].mode = 0555; |
218 | 190 | ||
219 | child[AX25_MAX_VALUES].ctl_name = 0; /* just in case... */ | ||
220 | 191 | ||
221 | for (k = 0; k < AX25_MAX_VALUES; k++) | 192 | for (k = 0; k < AX25_MAX_VALUES; k++) |
222 | child[k].data = &ax25_dev->values[k]; | 193 | child[k].data = &ax25_dev->values[k]; |
@@ -233,7 +204,7 @@ void ax25_unregister_sysctl(void) | |||
233 | ctl_table *p; | 204 | ctl_table *p; |
234 | unregister_sysctl_table(ax25_table_header); | 205 | unregister_sysctl_table(ax25_table_header); |
235 | 206 | ||
236 | for (p = ax25_table; p->ctl_name; p++) | 207 | for (p = ax25_table; p->procname; p++) |
237 | kfree(p->child); | 208 | kfree(p->child); |
238 | kfree(ax25_table); | 209 | kfree(ax25_table); |
239 | } | 210 | } |