netns: correct mib stats in ip6_route_me_harder()
authorAlexey Dobriyan <adobriyan@gmail.com>
Wed, 15 Oct 2008 05:55:21 +0000 (22:55 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Oct 2008 05:55:21 +0000 (22:55 -0700)
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/netfilter.c

index 6b29b03925f1f08ec7013a969c64511a8c228f13..fd5b3a4e332988056119748ae1c636dff72b53b9 100644 (file)
@@ -12,6 +12,7 @@
 
 int ip6_route_me_harder(struct sk_buff *skb)
 {
+       struct net *net = dev_net(skb->dst->dev);
        struct ipv6hdr *iph = ipv6_hdr(skb);
        struct dst_entry *dst;
        struct flowi fl = {
@@ -23,7 +24,7 @@ int ip6_route_me_harder(struct sk_buff *skb)
                    .saddr = iph->saddr, } },
        };
 
-       dst = ip6_route_output(dev_net(skb->dst->dev), skb->sk, &fl);
+       dst = ip6_route_output(net, skb->sk, &fl);
 
 #ifdef CONFIG_XFRM
        if (!(IP6CB(skb)->flags & IP6SKB_XFRM_TRANSFORMED) &&
@@ -33,8 +34,7 @@ int ip6_route_me_harder(struct sk_buff *skb)
 #endif
 
        if (dst->error) {
-               IP6_INC_STATS(&init_net, ip6_dst_idev(dst),
-                             IPSTATS_MIB_OUTNOROUTES);
+               IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTNOROUTES);
                LIMIT_NETDEBUG(KERN_DEBUG "ip6_route_me_harder: No more route.\n");
                dst_release(dst);
                return -EINVAL;