Merge branch 'for-4.2/writeback' of git://git.kernel.dk/linux-block
[firefly-linux-kernel-4.4.55.git] / include / net / ip6_fib.h
index 5556111022eba601781ec7cff0b963b7d72584dc..3b76849c190fc2ce79b59d07466a05182d2b99fe 100644 (file)
@@ -120,7 +120,11 @@ struct rt6_info {
        struct rt6key                   rt6i_src;
        struct rt6key                   rt6i_prefsrc;
 
+       struct list_head                rt6i_uncached;
+       struct uncached_list            *rt6i_uncached_list;
+
        struct inet6_dev                *rt6i_idev;
+       struct rt6_info * __percpu      *rt6i_pcpu;
 
        u32                             rt6i_metric;
        u32                             rt6i_pmtu;
@@ -161,7 +165,7 @@ static inline void rt6_update_expires(struct rt6_info *rt0, int timeout)
 
 static inline u32 rt6_get_cookie(const struct rt6_info *rt)
 {
-       if (unlikely(rt->dst.flags & DST_NOCACHE))
+       if (rt->rt6i_flags & RTF_PCPU || unlikely(rt->dst.flags & DST_NOCACHE))
                rt = (struct rt6_info *)(rt->dst.from);
 
        return rt->rt6i_node ? rt->rt6i_node->fn_sernum : 0;