summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNicolas Dichtel2012-09-11 00:09:46 +0200
committerDavid S. Miller2012-09-18 21:57:03 +0200
commit6f3118b571b8a4c06c7985dc3172c3526cb86253 (patch)
tree4b42d48f7346850618756ee4c26a179c5f7c7c3b /include
parentxfrm: invalidate dst on policy insertion/deletion (diff)
downloadkernel-qcow2-linux-6f3118b571b8a4c06c7985dc3172c3526cb86253.tar.gz
kernel-qcow2-linux-6f3118b571b8a4c06c7985dc3172c3526cb86253.tar.xz
kernel-qcow2-linux-6f3118b571b8a4c06c7985dc3172c3526cb86253.zip
ipv6: use net->rt_genid to check dst validity
IPv6 dst should take care of rt_genid too. When a xfrm policy is inserted or deleted, all dst should be invalidated. To force the validation, dst entries should be created with ->obsolete set to DST_OBSOLETE_FORCE_CHK. This was already the case for all functions calling ip6_dst_alloc(), except for ip6_rt_copy(). As a consequence, we can remove the specific code in inet6_connection_sock. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/ip6_fib.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index 0fedbd8d747a..9fc7114159e8 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -111,9 +111,8 @@ struct rt6_info {
struct inet6_dev *rt6i_idev;
unsigned long _rt6i_peer;
-#ifdef CONFIG_XFRM
- u32 rt6i_flow_cache_genid;
-#endif
+ u32 rt6i_genid;
+
/* more non-fragment space at head required */
unsigned short rt6i_nfheader_len;