]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Further split nhop creation and rtable operations.
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Fri, 28 Aug 2020 21:59:10 +0000 (21:59 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Fri, 28 Aug 2020 21:59:10 +0000 (21:59 +0000)
commitb122304f6affd2c79426b079258979ec190321fc
treea12d7c8ed507b227194fcd18f77376b960e75fe2
parent404ff76bda3e71da7cb257c04fecc745cb84220c
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
sys/net/route/route_ctl.c
sys/net/route/route_var.h