Hi Hannes, On Wed, Nov 16, 2016 at 03:51:01PM +0100, Hannes Frederic Sowa wrote: > On 16.11.2016 15:09, Jiri Pirko wrote: > > From: Ido Schimmel <ido...@mellanox.com> > > > > Commit b90eb7549499 ("fib: introduce FIB notification infrastructure") > > introduced a new notification chain to notify listeners (f.e., switchdev > > drivers) about addition and deletion of routes. > > > > However, upon registration to the chain the FIB tables can already be > > populated, which means potential listeners will have an incomplete view > > of the tables. > > > > Solve that by adding an API to request a FIB dump. The dump itself it > > done using RCU in order not to starve consumers that need RTNL to make > > progress. > > > > Signed-off-by: Ido Schimmel <ido...@mellanox.com> > > Signed-off-by: Jiri Pirko <j...@mellanox.com> > > Have you looked at potential inconsistencies resulting of RCU walking > the table and having concurrent inserts?
Yes. I did try to think about situations in which this approach will fail, but I could only find problems with concurrent removals, which I addressed in 5/8. In case of concurrent insertions, even if you missed the node, you would still get the ENTRY_ADD event to your listener.