mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 02:01:55 +00:00
020c34136f
This commit makes the route chains in the tables atomic. This allows not only standard exports but also feeds and bulk exports to be processed without ever locking the table. Design note: the overall data structures are quite brittle. We're using RCU read-locks to keep track about readers, and we're indicating ongoing work on the data structures by prepending a REF_OBSOLETE sentinel node to make every reader go waiting. All the operations are intended to stay inside nest/rt-table.c and it may be even best to further refactor the code to hide the routing table internal structure inside there. Nobody shall definitely write any routines manipulating live routes in tables from outside. |
||
---|---|---|
.. | ||
alloc_test.c | ||
alloc.c | ||
config.Y | ||
Doc | ||
domain.c | ||
endian.h | ||
io-loop.c | ||
io-loop.h | ||
io.c | ||
krt.c | ||
krt.h | ||
krt.Y | ||
log.c | ||
main.c | ||
Makefile | ||
random.c | ||
unix.h |