]> bbs.cooldavid.org Git - net-next-2.6.git/blame - net/llc/sysctl_net_llc.c
scm: lower SCM_MAX_FD
[net-next-2.6.git] / net / llc / sysctl_net_llc.c
CommitLineData
590232a7
ACM
1/*
2 * sysctl_net_llc.c: sysctl interface to LLC net subsystem.
d57b1869 3 *
590232a7
ACM
4 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>
5 */
6
590232a7
ACM
7#include <linux/mm.h>
8#include <linux/init.h>
9#include <linux/sysctl.h>
2928c19e 10#include <net/llc.h>
590232a7
ACM
11
12#ifndef CONFIG_SYSCTL
13#error This file should not be compiled without CONFIG_SYSCTL defined
14#endif
15
590232a7
ACM
16static struct ctl_table llc2_timeout_table[] = {
17 {
590232a7
ACM
18 .procname = "ack",
19 .data = &sysctl_llc2_ack_timeout,
20 .maxlen = sizeof(long),
21 .mode = 0644,
6d9f239a 22 .proc_handler = proc_dointvec_jiffies,
590232a7
ACM
23 },
24 {
590232a7
ACM
25 .procname = "busy",
26 .data = &sysctl_llc2_busy_timeout,
27 .maxlen = sizeof(long),
28 .mode = 0644,
6d9f239a 29 .proc_handler = proc_dointvec_jiffies,
590232a7
ACM
30 },
31 {
590232a7
ACM
32 .procname = "p",
33 .data = &sysctl_llc2_p_timeout,
34 .maxlen = sizeof(long),
35 .mode = 0644,
6d9f239a 36 .proc_handler = proc_dointvec_jiffies,
590232a7
ACM
37 },
38 {
590232a7
ACM
39 .procname = "rej",
40 .data = &sysctl_llc2_rej_timeout,
41 .maxlen = sizeof(long),
42 .mode = 0644,
6d9f239a 43 .proc_handler = proc_dointvec_jiffies,
590232a7 44 },
f8572d8f 45 { },
590232a7
ACM
46};
47
48static struct ctl_table llc_station_table[] = {
49 {
590232a7
ACM
50 .procname = "ack_timeout",
51 .data = &sysctl_llc_station_ack_timeout,
52 .maxlen = sizeof(long),
53 .mode = 0644,
6d9f239a 54 .proc_handler = proc_dointvec_jiffies,
590232a7 55 },
f8572d8f 56 { },
590232a7
ACM
57};
58
59static struct ctl_table llc2_dir_timeout_table[] = {
60 {
590232a7
ACM
61 .procname = "timeout",
62 .mode = 0555,
63 .child = llc2_timeout_table,
d57b1869 64 },
f8572d8f 65 { },
590232a7
ACM
66};
67
68static struct ctl_table llc_table[] = {
69 {
590232a7
ACM
70 .procname = "llc2",
71 .mode = 0555,
72 .child = llc2_dir_timeout_table,
d57b1869 73 },
590232a7 74 {
590232a7
ACM
75 .procname = "station",
76 .mode = 0555,
77 .child = llc_station_table,
78 },
f8572d8f 79 { },
590232a7
ACM
80};
81
b5ccd792 82static struct ctl_path llc_path[] = {
f8572d8f
EB
83 { .procname = "net", },
84 { .procname = "llc", },
b5ccd792 85 { }
590232a7
ACM
86};
87
88static struct ctl_table_header *llc_table_header;
89
90int __init llc_sysctl_init(void)
91{
b5ccd792 92 llc_table_header = register_sysctl_paths(llc_path, llc_table);
590232a7
ACM
93
94 return llc_table_header ? 0 : -ENOMEM;
95}
96
97void llc_sysctl_exit(void)
98{
99 if (llc_table_header) {
100 unregister_sysctl_table(llc_table_header);
101 llc_table_header = NULL;
102 }
103}