diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2012-09-10 22:09:46 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-18 15:57:03 -0400 |
commit | 6f3118b571b8a4c06c7985dc3172c3526cb86253 (patch) | |
tree | 4b42d48f7346850618756ee4c26a179c5f7c7c3b /include | |
parent | ee8372dd1989287c5eedb69d44bac43f69e496f1 (diff) | |
download | linux-stable-6f3118b571b8a4c06c7985dc3172c3526cb86253.tar.gz linux-stable-6f3118b571b8a4c06c7985dc3172c3526cb86253.tar.bz2 linux-stable-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.h | 5 |
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; |