diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-25 18:17:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-25 18:17:44 -0400 |
commit | 2f4520d35d89ca6c5cd129c38e3b11f0283b7d1b (patch) | |
tree | 06038a77e1c4f81a7f349a0c49c6a61061b65922 | |
parent | 30c2235cbc477d4629983d440cdc4f496fec9246 (diff) |
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>
-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 cca921ea855..e91bafeb32f 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -3116,14 +3116,23 @@ static ctl_table ipv4_route_table[] = { | |||
3116 | { .ctl_name = 0 } | 3116 | { .ctl_name = 0 } |
3117 | }; | 3117 | }; |
3118 | 3118 | ||
3119 | static __net_initdata struct ctl_path ipv4_route_path[] = { | 3119 | static struct ctl_table empty[1]; |
3120 | |||
3121 | static struct ctl_table ipv4_skeleton[] = | ||
3122 | { | ||
3123 | { .procname = "route", .ctl_name = NET_IPV4_ROUTE, | ||
3124 | .child = ipv4_route_table}, | ||
3125 | { .procname = "neigh", .ctl_name = NET_IPV4_NEIGH, | ||
3126 | .child = empty}, | ||
3127 | { } | ||
3128 | }; | ||
3129 | |||
3130 | static __net_initdata struct ctl_path ipv4_path[] = { | ||
3120 | { .procname = "net", .ctl_name = CTL_NET, }, | 3131 | { .procname = "net", .ctl_name = CTL_NET, }, |
3121 | { .procname = "ipv4", .ctl_name = NET_IPV4, }, | 3132 | { .procname = "ipv4", .ctl_name = NET_IPV4, }, |
3122 | { .procname = "route", .ctl_name = NET_IPV4_ROUTE, }, | ||
3123 | { }, | 3133 | { }, |
3124 | }; | 3134 | }; |
3125 | 3135 | ||
3126 | |||
3127 | static struct ctl_table ipv4_route_flush_table[] = { | 3136 | static struct ctl_table ipv4_route_flush_table[] = { |
3128 | { | 3137 | { |
3129 | .ctl_name = NET_IPV4_ROUTE_FLUSH, | 3138 | .ctl_name = NET_IPV4_ROUTE_FLUSH, |
@@ -3136,6 +3145,13 @@ static struct ctl_table ipv4_route_flush_table[] = { | |||
3136 | { .ctl_name = 0 }, | 3145 | { .ctl_name = 0 }, |
3137 | }; | 3146 | }; |
3138 | 3147 | ||
3148 | static __net_initdata struct ctl_path ipv4_route_path[] = { | ||
3149 | { .procname = "net", .ctl_name = CTL_NET, }, | ||
3150 | { .procname = "ipv4", .ctl_name = NET_IPV4, }, | ||
3151 | { .procname = "route", .ctl_name = NET_IPV4_ROUTE, }, | ||
3152 | { }, | ||
3153 | }; | ||
3154 | |||
3139 | static __net_init int sysctl_route_net_init(struct net *net) | 3155 | static __net_init int sysctl_route_net_init(struct net *net) |
3140 | { | 3156 | { |
3141 | struct ctl_table *tbl; | 3157 | struct ctl_table *tbl; |
@@ -3287,7 +3303,7 @@ int __init ip_rt_init(void) | |||
3287 | */ | 3303 | */ |
3288 | void __init ip_static_sysctl_init(void) | 3304 | void __init ip_static_sysctl_init(void) |
3289 | { | 3305 | { |
3290 | register_sysctl_paths(ipv4_route_path, ipv4_route_table); | 3306 | register_sysctl_paths(ipv4_path, ipv4_skeleton); |
3291 | } | 3307 | } |
3292 | #endif | 3308 | #endif |
3293 | 3309 | ||