HomeFreeBSD

[fib algo] always commit static routes synchronously.

Description

[fib algo] always commit static routes synchronously.

Modular fib lookup framework features logic that allows
route update batching for the algorithms that cannot easily
apply the routing change without rebuilding. As a result,
dataplane lookups may return old data until the the sync
takes place. With the default sync timeout of 50ms, it is
possible that new binary like ping(8) executed exactly after
route(8) will still use the old fib data.

To address some aspects of the problem, framework executes
all rtable changes without RTF_GATEWAY synchronously.

To fix the aforementioned problem, this diff extends sync
execution for all RTF_STATIC routes (e.g. ones maintained by
route(8).
This fixes a bunch of tests in the networking space.

Reported by: ci, arichardson
MFC after: 2 weeks

Details

Provenance
melifaroAuthored on Apr 27 2021, 8:23 AM
Parents
rG25682e6a495f: Fix rtsock sockaddr alignment.
Branches
Unknown
Tags
Unknown