]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Further split nhop creation and rtable operations.
authormelifaro <melifaro@FreeBSD.org>
Fri, 28 Aug 2020 21:59:10 +0000 (21:59 +0000)
committermelifaro <melifaro@FreeBSD.org>
Fri, 28 Aug 2020 21:59:10 +0000 (21:59 +0000)
commit9c25814dc86d0ec45e3c2b54b7c50ff16e10a375
treea12d7c8ed507b227194fcd18f77376b960e75fe2
parent8e717655c515e98b623a07f040606740c9835037
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