]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/blobdiff - net/ipv6/ip6_fib.c
netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()
[lisovros/linux_canprio.git] / net / ipv6 / ip6_fib.c
index 1ee4fa17c12959a14c835663abdb81ce349f8de4..fe801716a7fc8718997a1b79eff6ec686e5aa77f 100644 (file)
@@ -380,6 +380,7 @@ static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
 
        arg.skb = skb;
        arg.cb = cb;
+       arg.net = net;
        w->args = &arg;
 
        for (h = s_h; h < FIB_TABLE_HASHSZ; h++, s_e = 0) {
@@ -663,7 +664,7 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt,
 
 static __inline__ void fib6_start_gc(struct net *net, struct rt6_info *rt)
 {
-       if (net->ipv6.ip6_fib_timer->expires == 0 &&
+       if (!timer_pending(net->ipv6.ip6_fib_timer) &&
            (rt->rt6i_flags & (RTF_EXPIRES|RTF_CACHE)))
                mod_timer(net->ipv6.ip6_fib_timer, jiffies +
                          net->ipv6.sysctl.ip6_rt_gc_interval);
@@ -671,7 +672,7 @@ static __inline__ void fib6_start_gc(struct net *net, struct rt6_info *rt)
 
 void fib6_force_start_gc(struct net *net)
 {
-       if (net->ipv6.ip6_fib_timer->expires == 0)
+       if (!timer_pending(net->ipv6.ip6_fib_timer))
                mod_timer(net->ipv6.ip6_fib_timer, jiffies +
                          net->ipv6.sysctl.ip6_rt_gc_interval);
 }