Page MenuHomeFreeBSD

Further split nhop creation and rtable operations.
ClosedPublic

Authored by melifaro on Aug 27 2020, 9:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 2, 4:38 AM
Unknown Object (File)
Mar 7 2024, 8:43 PM
Unknown Object (File)
Nov 5 2023, 6:14 AM
Unknown Object (File)
Oct 4 2023, 6:11 AM
Unknown Object (File)
Sep 30 2023, 6:12 AM
Unknown Object (File)
Aug 20 2023, 4:21 AM
Unknown Object (File)
Jul 3 2023, 4:49 AM
Unknown Object (File)
Jun 28 2023, 9:10 AM
Subscribers

Details

Summary

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.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

melifaro added a reviewer: network.
This revision was not accepted when it landed; it landed in state Needs Review.Aug 28 2020, 9:59 PM
This revision was automatically updated to reflect the committed changes.