HomeFreeBSD

Add batched update support for the fib algo.

Description

Add batched update support for the fib algo.

Initial fib algo implementation was build on a very simple set of
principles w.r.t updates:

  1. algorithm is ether able to apply the change synchronously (DIR24-8) or requires full rebuild (bsearch, lradix).
  2. framework falls back to rebuild on every error (memory allocation, nhg limit, other internal algo errors, etc).

This changes brings the new "intermediate" concept - batched updates.
Algotirhm can indicate that the particular update has to be handled in
batched fashion (FLM_BATCH).
The framework will write this update and other updates to the temporary
buffer instead of pushing them to the algo callback.
Depending on the update rate, the framework will batch 50..1024 ms of updates
and submit them to a different algo callback.

This functionality is handy for the slow-to-rebuild algorithms like DXR.

Differential Revision: https://reviews.freebsd.org/D29588
Reviewed by: zec
MFC after: 2 weeks

Details

Provenance
melifaroAuthored on Apr 9 2021, 9:30 PM
Reviewer
zec
Differential Revision
D29588: [FIB algo] Add support for the batched updates.
Parents
R10:68a46f11eada: e1000: Restore VF interface random MAC
Branches
Unknown
Tags
Unknown