On Wed, Nov 16, 2016 at 6:08 AM, Jiri Pirko <j...@resnulli.us> wrote: > From: Jiri Pirko <j...@mellanox.com> > > Ido says: > > In kernel 4.9 the switchdev-specific FIB offload mechanism was replaced > by a new FIB notification chain to which modules could register in order > to be notified about the addition and deletion of FIB entries. The > motivation for this change was that switchdev drivers need to be able to > reflect the entire FIB table and not only FIBs configured on top of the > port netdevs themselves. This is useful in case of in-band management. > > The fundamental problem with this approach is that upon registration > listeners lose all the information previously sent in the chain and > thus have an incomplete view of the FIB tables, which can result in > packet loss. This patchset fixes that by introducing a new API to dump > the FIB tables. > > The entire dump process is done under RCU and thus the FIB notification > chain is converted to be atomic. The listeners are modified accordingly. > This is done in the first five patches. > > The sixth patch adds the dump callback itself and the next patches call > it from current listeners of the FIB notification chain. > > Ido Schimmel (8): > ipv4: fib: Export free_fib_info() > mlxsw: spectrum_router: Implement FIB offload in delayed work > rocker: Implement FIB offload in delayed work > ipv4: fib: Convert FIB notification chain to be atomic > net: ipv4: Send notifications only after removing FIB alias > ipv4: fib: Add an API to request a FIB dump > mlxsw: spectrum_router: Request a dump of FIB tables during init > rocker: Request a dump of FIB tables during init > > drivers/net/ethernet/mellanox/mlxsw/core.c | 6 + > drivers/net/ethernet/mellanox/mlxsw/core.h | 1 + > .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 73 ++++++++++-- > drivers/net/ethernet/rocker/rocker_main.c | 59 ++++++++-- > drivers/net/ethernet/rocker/rocker_ofdpa.c | 1 + > include/net/ip_fib.h | 1 + > net/ipv4/fib_semantics.c | 1 + > net/ipv4/fib_trie.c | 128 > +++++++++++++++++++-- > 8 files changed, 242 insertions(+), 28 deletions(-) >
So for the pieces related to the fib_trie itself this patch series looks good to me. Acked-by: Alexander Duyck <alexander.h.du...@intel.com>