diff options
author | Daniel Lezcano <dlezcano@fr.ibm.com> | 2008-03-04 02:31:11 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-04 02:31:11 -0500 |
commit | 63152fc0de4dfe83da543bf133cef73d885a50fc (patch) | |
tree | 2b6546f2ebd5b3fa6d48bfd7ca4085d0f96e771f /net/ipv6/route.c | |
parent | 450d19f8ab35fad4ef2b129cb383a5b8d1326611 (diff) |
[NETNS][IPV6] ip6_fib - gc timer per namespace
Move the timer initialization at the network namespace creation and
store the network namespace in the timer argument.
That enables multiple timers (one per network namespace) to do garbage
collecting.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index fd44721abebb..b13eb0111270 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -952,7 +952,7 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev, | |||
952 | icmp6_dst_gc_list = &rt->u.dst; | 952 | icmp6_dst_gc_list = &rt->u.dst; |
953 | spin_unlock_bh(&icmp6_dst_lock); | 953 | spin_unlock_bh(&icmp6_dst_lock); |
954 | 954 | ||
955 | fib6_force_start_gc(); | 955 | fib6_force_start_gc(dev->nd_net); |
956 | 956 | ||
957 | out: | 957 | out: |
958 | return &rt->u.dst; | 958 | return &rt->u.dst; |
@@ -1230,6 +1230,9 @@ install_route: | |||
1230 | rt->u.dst.dev = dev; | 1230 | rt->u.dst.dev = dev; |
1231 | rt->rt6i_idev = idev; | 1231 | rt->rt6i_idev = idev; |
1232 | rt->rt6i_table = table; | 1232 | rt->rt6i_table = table; |
1233 | |||
1234 | cfg->fc_nlinfo.nl_net = dev->nd_net; | ||
1235 | |||
1233 | return __ip6_ins_rt(rt, &cfg->fc_nlinfo); | 1236 | return __ip6_ins_rt(rt, &cfg->fc_nlinfo); |
1234 | 1237 | ||
1235 | out: | 1238 | out: |