Merge tag 'media/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[firefly-linux-kernel-4.4.55.git] / include / net / ip6_fib.h
index a4bece6797da217edf561c1099ae9d02de14a4e7..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,6 +165,9 @@ static inline void rt6_update_expires(struct rt6_info *rt0, int timeout)
 
 static inline u32 rt6_get_cookie(const struct rt6_info *rt)
 {
+       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;
 }