Subject: Re: Race condition in route lookup

From: David Ahern <[email-masked]>
Date: Tue, 15 Oct 2019 10:45:14 -0400

On 10/14/19 1:26 PM, Martin Lau wrote:
> 
> AFAICT, even for the route that are affected by fib6_update_sernum_upto_root(),
> I don't see the RTF_PCPU route is re-created.  v6 sk does
> dst_check() => re-lookup the fib6 =>
> found the same RTF_PCPU (but does not re-create it) =>
> update the sk with new cookie in ip6_dst_store()
> 

That's fine. The pcpu cache is per nexthop (fib6_nh) for a specific
gateway/device.

The invalidate forces another lookup for the intended destination after
the change to the fib. If the lookup resolves to the same fib entry and
nexthop, then re-using the same cached dst/rt6_info is ok.