From: Paolo Abeni <pab...@redhat.com> Date: Tue, 22 Nov 2016 16:57:40 +0100
> When an ipv6 address has the tentative flag set, it can't be > used as source for egress traffic, while the associated route, > if any, can be looked up and even stored into some dst_cache. > > In the latter scenario, the source ipv6 address selected and > stored in the cache is most probably wrong (e.g. with > link-local scope) and the entity using the dst_cache will > experience lack of ipv6 connectivity until said cache is > cleared or invalidated. > > Overall this may cause lack of connectivity over most IPv6 tunnels > (comprising geneve and vxlan), if the first egress packet reaches > the tunnel before the DaD is completed for the used ipv6 > address. > > This patch bumps a new genid after that the IFA_F_TENTATIVE flag > is cleared, so that dst_cache will be invalidated on > next lookup and ipv6 connectivity restored. > > Fixes: 0c1d70af924b ("net: use dst_cache for vxlan device") > Fixes: 468dfffcd762 ("geneve: add dst caching support") > Acked-by: Hannes Frederic Sowa <han...@stressinduktion.org> > Signed-off-by: Paolo Abeni <pab...@redhat.com> Applied and queued up for -stable, thanks.