diff options
| author | David S. Miller <davem@davemloft.net> | 2012-06-16 01:23:04 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-06-16 01:23:04 -0700 | 
| commit | aee289baaa02dd2ffa1189c1600d5572a10e0714 (patch) | |
| tree | f9fa3cb33ead21400dbda2b19287f6f06754fcb6 | |
| parent | 42ae66c80d94645e8f74080c7f344596d6f19cd5 (diff) | |
| parent | e8803b6c387129059e04d9e14d49efda250a7361 (diff) | |
| download | olio-linux-3.10-aee289baaa02dd2ffa1189c1600d5572a10e0714.tar.xz olio-linux-3.10-aee289baaa02dd2ffa1189c1600d5572a10e0714.zip  | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
	net/ipv6/route.c
Pull in 'net' again to get the revert of Thomas's change
which introduced regressions.
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | include/net/ip6_fib.h | 2 | ||||
| -rw-r--r-- | net/ipv6/ip6_fib.c | 18 | ||||
| -rw-r--r-- | net/ipv6/route.c | 16 | 
3 files changed, 12 insertions, 24 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 7fdbad52254..a192f780765 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -302,8 +302,6 @@ extern void			fib6_run_gc(unsigned long expires,  extern void			fib6_gc_cleanup(void);  extern int			fib6_init(void); -extern int			fib6_init_late(void); -extern void			fib6_cleanup_late(void);  #ifdef CONFIG_IPV6_MULTIPLE_TABLES  extern int			fib6_rules_init(void); diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index a83bf067bdc..215afc74d8a 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -1697,25 +1697,21 @@ int __init fib6_init(void)  	ret = register_pernet_subsys(&fib6_net_ops);  	if (ret)  		goto out_kmem_cache_create; + +	ret = __rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib, +			      NULL); +	if (ret) +		goto out_unregister_subsys;  out:  	return ret; +out_unregister_subsys: +	unregister_pernet_subsys(&fib6_net_ops);  out_kmem_cache_create:  	kmem_cache_destroy(fib6_node_kmem);  	goto out;  } -int __init fib6_init_late(void) -{ -	return __rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib, -			       NULL); -} - -void fib6_cleanup_late(void) -{ -	rtnl_unregister(PF_INET6, RTM_GETROUTE); -} -  void fib6_gc_cleanup(void)  {  	unregister_pernet_subsys(&fib6_net_ops); diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 1c279fe2c9b..e649cd78c15 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2974,13 +2974,9 @@ int __init ip6_route_init(void)  	if (ret)  		goto out_kmem_cache; -	ret = fib6_init(); -	if (ret) -		goto out_dst_entries; -  	ret = register_pernet_subsys(&ipv6_inetpeer_ops);  	if (ret) -		goto out_fib6_init; +		goto out_dst_entries;  	ret = register_pernet_subsys(&ip6_route_net_ops);  	if (ret) @@ -2999,13 +2995,13 @@ int __init ip6_route_init(void)  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);    #endif -	ret = fib6_init_late(); +	ret = fib6_init();  	if (ret)  		goto out_register_subsys;  	ret = xfrm6_init();  	if (ret) -		goto out_fib6_init_late; +		goto out_fib6_init;  	ret = fib6_rules_init();  	if (ret) @@ -3028,14 +3024,12 @@ fib6_rules_init:  	fib6_rules_cleanup();  xfrm6_init:  	xfrm6_fini(); -out_fib6_init_late: -	fib6_cleanup_late(); +out_fib6_init: +	fib6_gc_cleanup();  out_register_subsys:  	unregister_pernet_subsys(&ip6_route_net_ops);  out_register_inetpeer:  	unregister_pernet_subsys(&ipv6_inetpeer_ops); -out_fib6_init: -	fib6_gc_cleanup();  out_dst_entries:  	dst_entries_destroy(&ip6_dst_blackhole_ops);  out_kmem_cache:  |