blob: 6d5ea97620408a41e4b05a71d4e6b159c2228354 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* -*- 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>
Linus Torvalds1da177e2005-04-16 15:20:36 -070010#include <linux/module.h>
Arnaldo Carvalho de Melo20380732005-08-16 02:18:02 -030011#include <linux/socket.h>
12#include <net/sock.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
14#ifdef CONFIG_SYSCTL
15
16extern int netdev_max_backlog;
17extern int weight_p;
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
19extern __u32 sysctl_wmem_max;
20extern __u32 sysctl_rmem_max;
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22extern int sysctl_core_destroy_delay;
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
Jamal Hadi Salimf8cd5482006-03-20 19:15:11 -080024#ifdef CONFIG_XFRM
25extern u32 sysctl_xfrm_aevent_etime;
26extern u32 sysctl_xfrm_aevent_rseqth;
David S. Miller14e50e52007-05-24 18:17:54 -070027extern int sysctl_xfrm_larval_drop;
David S. Miller01e67d02007-05-25 00:41:38 -070028extern u32 sysctl_xfrm_acq_expires;
Jamal Hadi Salimf8cd5482006-03-20 19:15:11 -080029#endif
30
Linus Torvalds1da177e2005-04-16 15:20:36 -070031ctl_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 {
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 .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 },
Jamal Hadi Salimf8cd5482006-03-20 19:15:11 -0800106#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 },
David S. Miller14e50e52007-05-24 18:17:54 -0700123 {
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 },
David S. Miller01e67d02007-05-25 00:41:38 -0700131 {
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 },
Jamal Hadi Salimf8cd5482006-03-20 19:15:11 -0800139#endif /* CONFIG_XFRM */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140#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 },
Stephen Hemminger51b0bde2005-06-23 20:14:40 -0700149 {
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 },
Stephen Hemmingera2a316f2007-03-08 20:41:08 -0800157 {
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 },
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 { .ctl_name = 0 }
166};
167
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168#endif