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/module.h>
11#include <linux/socket.h>
12#include <net/sock.h>
13
14#ifdef CONFIG_SYSCTL
15
16extern int netdev_max_backlog;
17extern int weight_p;
18
19extern __u32 sysctl_wmem_max;
20extern __u32 sysctl_rmem_max;
21
22extern int sysctl_core_destroy_delay;
23
24#ifdef CONFIG_XFRM
25extern u32 sysctl_xfrm_aevent_etime;
26extern u32 sysctl_xfrm_aevent_rseqth;
27extern int sysctl_xfrm_larval_drop;
28extern u32 sysctl_xfrm_acq_expires;
29#endif
30
31ctl_table core_table[] = {
32#ifdef CONFIG_NET
33	{
34		.ctl_name	= NET_CORE_WMEM_MAX,
35		.procname	= "wmem_max",
36		.data		= &sysctl_wmem_max,
37		.maxlen		= sizeof(int),
38		.mode		= 0644,
39		.proc_handler	= &proc_dointvec
40	},
41	{
42		.ctl_name	= NET_CORE_RMEM_MAX,
43		.procname	= "rmem_max",
44		.data		= &sysctl_rmem_max,
45		.maxlen		= sizeof(int),
46		.mode		= 0644,
47		.proc_handler	= &proc_dointvec
48	},
49	{
50		.ctl_name	= NET_CORE_WMEM_DEFAULT,
51		.procname	= "wmem_default",
52		.data		= &sysctl_wmem_default,
53		.maxlen		= sizeof(int),
54		.mode		= 0644,
55		.proc_handler	= &proc_dointvec
56	},
57	{
58		.ctl_name	= NET_CORE_RMEM_DEFAULT,
59		.procname	= "rmem_default",
60		.data		= &sysctl_rmem_default,
61		.maxlen		= sizeof(int),
62		.mode		= 0644,
63		.proc_handler	= &proc_dointvec
64	},
65	{
66		.ctl_name	= NET_CORE_DEV_WEIGHT,
67		.procname	= "dev_weight",
68		.data		= &weight_p,
69		.maxlen		= sizeof(int),
70		.mode		= 0644,
71		.proc_handler	= &proc_dointvec
72	},
73	{
74		.ctl_name	= NET_CORE_MAX_BACKLOG,
75		.procname	= "netdev_max_backlog",
76		.data		= &netdev_max_backlog,
77		.maxlen		= sizeof(int),
78		.mode		= 0644,
79		.proc_handler	= &proc_dointvec
80	},
81	{
82		.ctl_name	= NET_CORE_MSG_COST,
83		.procname	= "message_cost",
84		.data		= &net_msg_cost,
85		.maxlen		= sizeof(int),
86		.mode		= 0644,
87		.proc_handler	= &proc_dointvec_jiffies,
88		.strategy	= &sysctl_jiffies,
89	},
90	{
91		.ctl_name	= NET_CORE_MSG_BURST,
92		.procname	= "message_burst",
93		.data		= &net_msg_burst,
94		.maxlen		= sizeof(int),
95		.mode		= 0644,
96		.proc_handler	= &proc_dointvec,
97	},
98	{
99		.ctl_name	= NET_CORE_OPTMEM_MAX,
100		.procname	= "optmem_max",
101		.data		= &sysctl_optmem_max,
102		.maxlen		= sizeof(int),
103		.mode		= 0644,
104		.proc_handler	= &proc_dointvec
105	},
106#ifdef CONFIG_XFRM
107	{
108		.ctl_name	= NET_CORE_AEVENT_ETIME,
109		.procname	= "xfrm_aevent_etime",
110		.data		= &sysctl_xfrm_aevent_etime,
111		.maxlen		= sizeof(u32),
112		.mode		= 0644,
113		.proc_handler	= &proc_dointvec
114	},
115	{
116		.ctl_name	= NET_CORE_AEVENT_RSEQTH,
117		.procname	= "xfrm_aevent_rseqth",
118		.data		= &sysctl_xfrm_aevent_rseqth,
119		.maxlen		= sizeof(u32),
120		.mode		= 0644,
121		.proc_handler	= &proc_dointvec
122	},
123	{
124		.ctl_name	= CTL_UNNUMBERED,
125		.procname	= "xfrm_larval_drop",
126		.data		= &sysctl_xfrm_larval_drop,
127		.maxlen		= sizeof(int),
128		.mode		= 0644,
129		.proc_handler	= &proc_dointvec
130	},
131	{
132		.ctl_name	= CTL_UNNUMBERED,
133		.procname	= "xfrm_acq_expires",
134		.data		= &sysctl_xfrm_acq_expires,
135		.maxlen		= sizeof(int),
136		.mode		= 0644,
137		.proc_handler	= &proc_dointvec
138	},
139#endif /* CONFIG_XFRM */
140#endif /* CONFIG_NET */
141	{
142		.ctl_name	= NET_CORE_SOMAXCONN,
143		.procname	= "somaxconn",
144		.data		= &sysctl_somaxconn,
145		.maxlen		= sizeof(int),
146		.mode		= 0644,
147		.proc_handler	= &proc_dointvec
148	},
149	{
150		.ctl_name	= NET_CORE_BUDGET,
151		.procname	= "netdev_budget",
152		.data		= &netdev_budget,
153		.maxlen		= sizeof(int),
154		.mode		= 0644,
155		.proc_handler	= &proc_dointvec
156	},
157	{
158		.ctl_name	= NET_CORE_WARNINGS,
159		.procname	= "warnings",
160		.data		= &net_msg_warn,
161		.maxlen		= sizeof(int),
162		.mode		= 0644,
163		.proc_handler	= &proc_dointvec
164	},
165	{ .ctl_name = 0 }
166};
167
168#endif
169