freebsd-skq/sys/net/route
Alexander V. Chernikov 41e66f4eca Add rib subscription API.
Currently there is no easy way of subscribing for the routing table changes.
The only existing way is to set ifa_rtrequest callback in the each protocol
 ifaddr, which is not convenient or extandable.

This change provides generic notification subscription mechanism, that will
 replace current ifa_rtrequest one and allow other applications such as
 accelerated routing lookup modules subscribe for the changes.

In particular, this change provides 2 hooks: 1) synchronous one
 (RIB_NOTIFY_IMMEDIATE), called under RIB_WLOCK, which ensures exact
 ordering of the changes and 2) async one, (RIB_NOTIFY_DELAYED)
 that is called after the change w/o holding locks. The latter one does not
 provide any notification ordering guarantee.

Differential Revision:  https://reviews.freebsd.org/D25070
2020-06-01 21:52:24 +00:00
..
nhop_ctl.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
nhop_utils.c
nhop_utils.h
nhop_var.h Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nhop.c Move route_temporal.c and route_var.h to net/route. 2020-04-28 19:14:09 +00:00
nhop.h Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
route_ctl.c Add rib subscription API. 2020-06-01 21:52:24 +00:00
route_ctl.h Add rib subscription API. 2020-06-01 21:52:24 +00:00
route_ddb.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
route_helpers.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
route_temporal.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
route_var.h * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
shared.h Move <add|del|change>_route() functions to route_ctl.c in preparation of 2020-05-23 19:06:57 +00:00