Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[pandora-kernel.git] / net / core / sysctl_net_core.c
1 /* -*- linux-c -*-
2  * sysctl_net_core.c: sysctl interface to net core subsystem.
3  *
4  * Begun April 1, 1996, Mike Shaver.
5  * Added /proc/sys/net/core directory entry (empty =) ). [MS]
6  */
7
8 #include <linux/mm.h>
9 #include <linux/sysctl.h>
10 #include <linux/config.h>
11 #include <linux/module.h>
12
13 #ifdef CONFIG_SYSCTL
14
15 extern int netdev_max_backlog;
16 extern int weight_p;
17 extern int no_cong_thresh;
18 extern int no_cong;
19 extern int lo_cong;
20 extern int mod_cong;
21 extern int netdev_fastroute;
22 extern int net_msg_cost;
23 extern int net_msg_burst;
24
25 extern __u32 sysctl_wmem_max;
26 extern __u32 sysctl_rmem_max;
27 extern __u32 sysctl_wmem_default;
28 extern __u32 sysctl_rmem_default;
29
30 extern int sysctl_core_destroy_delay;
31 extern int sysctl_optmem_max;
32 extern int sysctl_somaxconn;
33
34 #ifdef CONFIG_NET_DIVERT
35 extern char sysctl_divert_version[];
36 #endif /* CONFIG_NET_DIVERT */
37
38 ctl_table core_table[] = {
39 #ifdef CONFIG_NET
40         {
41                 .ctl_name       = NET_CORE_WMEM_MAX,
42                 .procname       = "wmem_max",
43                 .data           = &sysctl_wmem_max,
44                 .maxlen         = sizeof(int),
45                 .mode           = 0644,
46                 .proc_handler   = &proc_dointvec
47         },
48         {
49                 .ctl_name       = NET_CORE_RMEM_MAX,
50                 .procname       = "rmem_max",
51                 .data           = &sysctl_rmem_max,
52                 .maxlen         = sizeof(int),
53                 .mode           = 0644,
54                 .proc_handler   = &proc_dointvec
55         },
56         {
57                 .ctl_name       = NET_CORE_WMEM_DEFAULT,
58                 .procname       = "wmem_default",
59                 .data           = &sysctl_wmem_default,
60                 .maxlen         = sizeof(int),
61                 .mode           = 0644,
62                 .proc_handler   = &proc_dointvec
63         },
64         {
65                 .ctl_name       = NET_CORE_RMEM_DEFAULT,
66                 .procname       = "rmem_default",
67                 .data           = &sysctl_rmem_default,
68                 .maxlen         = sizeof(int),
69                 .mode           = 0644,
70                 .proc_handler   = &proc_dointvec
71         },
72         {
73                 .ctl_name       = NET_CORE_DEV_WEIGHT,
74                 .procname       = "dev_weight",
75                 .data           = &weight_p,
76                 .maxlen         = sizeof(int),
77                 .mode           = 0644,
78                 .proc_handler   = &proc_dointvec
79         },
80         {
81                 .ctl_name       = NET_CORE_MAX_BACKLOG,
82                 .procname       = "netdev_max_backlog",
83                 .data           = &netdev_max_backlog,
84                 .maxlen         = sizeof(int),
85                 .mode           = 0644,
86                 .proc_handler   = &proc_dointvec
87         },
88         {
89                 .ctl_name       = NET_CORE_NO_CONG_THRESH,
90                 .procname       = "no_cong_thresh",
91                 .data           = &no_cong_thresh,
92                 .maxlen         = sizeof(int),
93                 .mode           = 0644,
94                 .proc_handler   = &proc_dointvec
95         },
96         {
97                 .ctl_name       = NET_CORE_NO_CONG,
98                 .procname       = "no_cong",
99                 .data           = &no_cong,
100                 .maxlen         = sizeof(int),
101                 .mode           = 0644,
102                 .proc_handler   = &proc_dointvec
103         },
104         {
105                 .ctl_name       = NET_CORE_LO_CONG,
106                 .procname       = "lo_cong",
107                 .data           = &lo_cong,
108                 .maxlen         = sizeof(int),
109                 .mode           = 0644,
110                 .proc_handler   = &proc_dointvec
111         },
112         {
113                 .ctl_name       = NET_CORE_MOD_CONG,
114                 .procname       = "mod_cong",
115                 .data           = &mod_cong,
116                 .maxlen         = sizeof(int),
117                 .mode           = 0644,
118                 .proc_handler   = &proc_dointvec
119         },
120         {
121                 .ctl_name       = NET_CORE_MSG_COST,
122                 .procname       = "message_cost",
123                 .data           = &net_msg_cost,
124                 .maxlen         = sizeof(int),
125                 .mode           = 0644,
126                 .proc_handler   = &proc_dointvec_jiffies,
127                 .strategy       = &sysctl_jiffies,
128         },
129         {
130                 .ctl_name       = NET_CORE_MSG_BURST,
131                 .procname       = "message_burst",
132                 .data           = &net_msg_burst,
133                 .maxlen         = sizeof(int),
134                 .mode           = 0644,
135                 .proc_handler   = &proc_dointvec,
136         },
137         {
138                 .ctl_name       = NET_CORE_OPTMEM_MAX,
139                 .procname       = "optmem_max",
140                 .data           = &sysctl_optmem_max,
141                 .maxlen         = sizeof(int),
142                 .mode           = 0644,
143                 .proc_handler   = &proc_dointvec
144         },
145 #ifdef CONFIG_NET_DIVERT
146         {
147                 .ctl_name       = NET_CORE_DIVERT_VERSION,
148                 .procname       = "divert_version",
149                 .data           = (void *)sysctl_divert_version,
150                 .maxlen         = 32,
151                 .mode           = 0444,
152                 .proc_handler   = &proc_dostring
153         },
154 #endif /* CONFIG_NET_DIVERT */
155 #endif /* CONFIG_NET */
156         {
157                 .ctl_name       = NET_CORE_SOMAXCONN,
158                 .procname       = "somaxconn",
159                 .data           = &sysctl_somaxconn,
160                 .maxlen         = sizeof(int),
161                 .mode           = 0644,
162                 .proc_handler   = &proc_dointvec
163         },
164         { .ctl_name = 0 }
165 };
166
167 #endif