summaryrefslogtreecommitdiffstats
path: root/net/ipv6/Kconfig
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2016-02-12 15:43:54 +0100
committerDavid S. Miller <davem@davemloft.net>2016-02-16 20:21:48 -0500
commit607f725f6f7d5ec3759fbc16224afb60e2152a5b (patch)
treecbd77f4026a4388bab852d0f78d0452f22a82157 /net/ipv6/Kconfig
parent911362c70df5b766c243dc297fadeaced786ffd8 (diff)
downloadlinux-607f725f6f7d5ec3759fbc16224afb60e2152a5b.tar.gz
linux-607f725f6f7d5ec3759fbc16224afb60e2152a5b.tar.bz2
linux-607f725f6f7d5ec3759fbc16224afb60e2152a5b.zip
net: replace dst_cache ip6_tunnel implementation with the generic one
This also fix a potential race into the existing tunnel code, which could lead to the wrong dst to be permanenty cached: CPU1: CPU2: <xmit on ip6_tunnel> <cache lookup fails> dst = ip6_route_output(...) <tunnel params are changed via nl> dst_cache_reset() // no effect, // the cache is empty dst_cache_set() // the wrong dst // is permanenty stored // into the cache With the new dst implementation the above race is not possible since the first cache lookup after dst_cache_reset will fail due to the timestamp check Signed-off-by: Paolo Abeni <pabeni@redhat.com> Suggested-and-acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/Kconfig')
-rw-r--r--net/ipv6/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
index 40c897515ddc..11e875ffd7ac 100644
--- a/net/ipv6/Kconfig
+++ b/net/ipv6/Kconfig
@@ -207,6 +207,7 @@ config IPV6_NDISC_NODETYPE
config IPV6_TUNNEL
tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
select INET6_TUNNEL
+ select DST_CACHE
---help---
Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
RFC 2473.