HomeFreeBSD

Further split nhop creation and rtable operations.

Description

Further split nhop creation and rtable operations.

As nexthops are immutable, some operations such as route attribute changes
require nexthop fetching, forking, modification and route switching.
These operations are not atomic, so they may need to be retried multiple
times in presence of multiple speakers changing the same route.

This change introduces "synchronisation" primitive: route_update_conditional(),
simplifying logic for route changes and upcoming multipath operations.

Differential Revision: https://reviews.freebsd.org/D26216

Details

Provenance
melifaroAuthored on
Differential Revision
D26216: Further split nhop creation and rtable operations.
Parents
rS364939: MFC r363187:
Branches
Unknown
Tags
Unknown