diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-25 15:17:44 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-25 15:17:44 -0700 |
commit | 2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b (patch) | |
tree | 06038a77e1c4f81a7f349a0c49c6a61061b65922 /net | |
parent | 30c2235cbc477d4629983d440cdc4f496fec9246 (diff) | |
download | op-kernel-dev-2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b.zip op-kernel-dev-2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b.tar.gz |
ipv4: sysctl fixes
net.ipv4.neigh should be a part of skeleton to avoid ordering problems
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/route.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index cca921e..e91bafe 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -3116,14 +3116,23 @@ static ctl_table ipv4_route_table[] = { { .ctl_name = 0 } }; -static __net_initdata struct ctl_path ipv4_route_path[] = { +static struct ctl_table empty[1]; + +static struct ctl_table ipv4_skeleton[] = +{ + { .procname = "route", .ctl_name = NET_IPV4_ROUTE, + .child = ipv4_route_table}, + { .procname = "neigh", .ctl_name = NET_IPV4_NEIGH, + .child = empty}, + { } +}; + +static __net_initdata struct ctl_path ipv4_path[] = { { .procname = "net", .ctl_name = CTL_NET, }, { .procname = "ipv4", .ctl_name = NET_IPV4, }, - { .procname = "route", .ctl_name = NET_IPV4_ROUTE, }, { }, }; - static struct ctl_table ipv4_route_flush_table[] = { { .ctl_name = NET_IPV4_ROUTE_FLUSH, @@ -3136,6 +3145,13 @@ static struct ctl_table ipv4_route_flush_table[] = { { .ctl_name = 0 }, }; +static __net_initdata struct ctl_path ipv4_route_path[] = { + { .procname = "net", .ctl_name = CTL_NET, }, + { .procname = "ipv4", .ctl_name = NET_IPV4, }, + { .procname = "route", .ctl_name = NET_IPV4_ROUTE, }, + { }, +}; + static __net_init int sysctl_route_net_init(struct net *net) { struct ctl_table *tbl; @@ -3287,7 +3303,7 @@ int __init ip_rt_init(void) */ void __init ip_static_sysctl_init(void) { - register_sysctl_paths(ipv4_route_path, ipv4_route_table); + register_sysctl_paths(ipv4_path, ipv4_skeleton); } #endif |