Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
15extern int netdev_max_backlog;
16extern int netdev_budget;
17extern int weight_p;
18extern int net_msg_cost;
19extern int net_msg_burst;
20
21extern __u32 sysctl_wmem_max;
22extern __u32 sysctl_rmem_max;
23extern __u32 sysctl_wmem_default;
24extern __u32 sysctl_rmem_default;
25
26extern int sysctl_core_destroy_delay;
27extern int sysctl_optmem_max;
28extern int sysctl_somaxconn;
29
30#ifdef CONFIG_NET_DIVERT
31extern char sysctl_divert_version[];
32#endif /* CONFIG_NET_DIVERT */
33
34ctl_table core_table[] = {
35#ifdef CONFIG_NET
36 {
37 .ctl_name = NET_CORE_WMEM_MAX,
38 .procname = "wmem_max",
39 .data = &sysctl_wmem_max,
40 .maxlen = sizeof(int),
41 .mode = 0644,
42 .proc_handler = &proc_dointvec
43 },
44 {
45 .ctl_name = NET_CORE_RMEM_MAX,
46 .procname = "rmem_max",
47 .data = &sysctl_rmem_max,
48 .maxlen = sizeof(int),
49 .mode = 0644,
50 .proc_handler = &proc_dointvec
51 },
52 {
53 .ctl_name = NET_CORE_WMEM_DEFAULT,
54 .procname = "wmem_default",
55 .data = &sysctl_wmem_default,
56 .maxlen = sizeof(int),
57 .mode = 0644,
58 .proc_handler = &proc_dointvec
59 },
60 {
61 .ctl_name = NET_CORE_RMEM_DEFAULT,
62 .procname = "rmem_default",
63 .data = &sysctl_rmem_default,
64 .maxlen = sizeof(int),
65 .mode = 0644,
66 .proc_handler = &proc_dointvec
67 },
68 {
69 .ctl_name = NET_CORE_DEV_WEIGHT,
70 .procname = "dev_weight",
71 .data = &weight_p,
72 .maxlen = sizeof(int),
73 .mode = 0644,
74 .proc_handler = &proc_dointvec
75 },
76 {
77 .ctl_name = NET_CORE_MAX_BACKLOG,
78 .procname = "netdev_max_backlog",
79 .data = &netdev_max_backlog,
80 .maxlen = sizeof(int),
81 .mode = 0644,
82 .proc_handler = &proc_dointvec
83 },
84 {
85 .ctl_name = NET_CORE_MSG_COST,
86 .procname = "message_cost",
87 .data = &net_msg_cost,
88 .maxlen = sizeof(int),
89 .mode = 0644,
90 .proc_handler = &proc_dointvec_jiffies,
91 .strategy = &sysctl_jiffies,
92 },
93 {
94 .ctl_name = NET_CORE_MSG_BURST,
95 .procname = "message_burst",
96 .data = &net_msg_burst,
97 .maxlen = sizeof(int),
98 .mode = 0644,
99 .proc_handler = &proc_dointvec,
100 },
101 {
102 .ctl_name = NET_CORE_OPTMEM_MAX,
103 .procname = "optmem_max",
104 .data = &sysctl_optmem_max,
105 .maxlen = sizeof(int),
106 .mode = 0644,
107 .proc_handler = &proc_dointvec
108 },
109#ifdef CONFIG_NET_DIVERT
110 {
111 .ctl_name = NET_CORE_DIVERT_VERSION,
112 .procname = "divert_version",
113 .data = (void *)sysctl_divert_version,
114 .maxlen = 32,
115 .mode = 0444,
116 .proc_handler = &proc_dostring
117 },
118#endif /* CONFIG_NET_DIVERT */
119#endif /* CONFIG_NET */
120 {
121 .ctl_name = NET_CORE_SOMAXCONN,
122 .procname = "somaxconn",
123 .data = &sysctl_somaxconn,
124 .maxlen = sizeof(int),
125 .mode = 0644,
126 .proc_handler = &proc_dointvec
127 },
128 {
129 .ctl_name = NET_CORE_BUDGET,
130 .procname = "netdev_budget",
131 .data = &netdev_budget,
132 .maxlen = sizeof(int),
133 .mode = 0644,
134 .proc_handler = &proc_dointvec
135 },
136 { .ctl_name = 0 }
137};
138
139#endif