From 04f9698d629c05b887b584dad642f6aff3ee3e52 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Wed, 5 Dec 2007 01:41:26 -0800 Subject: [PATCH] --- yaml --- r: 78331 b: refs/heads/master c: 3e37c3f9978839d91188e4ca0cc662a7245f28e4 h: refs/heads/master i: 78329: dda034e508fb4e6a923403d6ec21b8479e57a0b5 78327: cc9fa20c29936efd3c0975083fb550194dd69ac7 v: v3 --- [refs] | 2 +- trunk/include/net/ip.h | 2 -- trunk/net/ipv4/sysctl_net_ipv4.c | 19 ++++++++++++++++++- trunk/net/sysctl_net.c | 8 -------- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index cabc38853c4f..aa5053413999 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9ba639797606acbcd97be886f41fbce163914e7b +refs/heads/master: 3e37c3f9978839d91188e4ca0cc662a7245f28e4 diff --git a/trunk/include/net/ip.h b/trunk/include/net/ip.h index 66d51616ade8..17d1189723fc 100644 --- a/trunk/include/net/ip.h +++ b/trunk/include/net/ip.h @@ -395,6 +395,4 @@ int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen, extern int ip_misc_proc_init(void); #endif -extern struct ctl_table ipv4_table[]; - #endif /* _IP_H */ diff --git a/trunk/net/ipv4/sysctl_net_ipv4.c b/trunk/net/ipv4/sysctl_net_ipv4.c index 3546424765f5..bfd0dec6238d 100644 --- a/trunk/net/ipv4/sysctl_net_ipv4.c +++ b/trunk/net/ipv4/sysctl_net_ipv4.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -247,7 +248,7 @@ static int strategy_allowed_congestion_control(ctl_table *table, int __user *nam } -ctl_table ipv4_table[] = { +static struct ctl_table ipv4_table[] = { { .ctl_name = NET_IPV4_TCP_TIMESTAMPS, .procname = "tcp_timestamps", @@ -878,3 +879,19 @@ ctl_table ipv4_table[] = { }, { .ctl_name = 0 } }; + +static __initdata struct ctl_path net_ipv4_path[] = { + { .procname = "net", .ctl_name = CTL_NET, }, + { .procname = "ipv4", .ctl_name = NET_IPV4, }, + { }, +}; + +static __init int sysctl_ipv4_init(void) +{ + struct ctl_table_header *hdr; + + hdr = register_sysctl_paths(net_ipv4_path, ipv4_table); + return hdr == NULL ? -ENOMEM : 0; +} + +__initcall(sysctl_ipv4_init); diff --git a/trunk/net/sysctl_net.c b/trunk/net/sysctl_net.c index 747fc55b28f1..a4f0ed8d0e79 100644 --- a/trunk/net/sysctl_net.c +++ b/trunk/net/sysctl_net.c @@ -31,14 +31,6 @@ #endif struct ctl_table net_table[] = { -#ifdef CONFIG_INET - { - .ctl_name = NET_IPV4, - .procname = "ipv4", - .mode = 0555, - .child = ipv4_table - }, -#endif #ifdef CONFIG_TR { .ctl_name = NET_TR,