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