[NET]: Isolate the net/core/ sysctl table

Using ctl paths we can put all the stuff, related to net/core/
sysctl table, into one file and remove all the references on it.

As a good side effect this hides the "core_table" name from
the global scope :)

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Pavel Emelyanov 2007-12-05 01:37:34 -08:00 committed by David S. Miller
parent 7e2e109cef
commit 33eb9cfc70
3 changed files with 18 additions and 11 deletions

View File

@ -1325,10 +1325,6 @@ extern __u32 sysctl_rmem_max;
extern void sk_init(void);
#ifdef CONFIG_SYSCTL
extern struct ctl_table core_table[];
#endif
extern int sysctl_optmem_max;
extern __u32 sysctl_wmem_default;

View File

@ -10,10 +10,11 @@
#include <linux/module.h>
#include <linux/socket.h>
#include <linux/netdevice.h>
#include <linux/init.h>
#include <net/sock.h>
#include <net/xfrm.h>
ctl_table core_table[] = {
static struct ctl_table net_core_table[] = {
#ifdef CONFIG_NET
{
.ctl_name = NET_CORE_WMEM_MAX,
@ -149,3 +150,19 @@ ctl_table core_table[] = {
},
{ .ctl_name = 0 }
};
static __initdata struct ctl_path net_core_path[] = {
{ .procname = "net", .ctl_name = CTL_NET, },
{ .procname = "core", .ctl_name = NET_CORE, },
{ },
};
static __init int sysctl_core_init(void)
{
struct ctl_table_header *hdr;
hdr = register_sysctl_paths(net_core_path, net_core_table);
return hdr == NULL ? -ENOMEM : 0;
}
__initcall(sysctl_core_init);

View File

@ -31,12 +31,6 @@
#endif
struct ctl_table net_table[] = {
{
.ctl_name = NET_CORE,
.procname = "core",
.mode = 0555,
.child = core_table,
},
#ifdef CONFIG_INET
{
.ctl_name = NET_IPV4,