mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 18:21:54 +00:00
54ac17dc13
This changes behaviour of rte_update() and rte_update2(). Formerly, the caller of rte_update2() took care of caching rta and allocating rte; then rte_update2() freed the structures if it didn't use them. Now rte_update2() does the permanent/global copies of rte+rta itself. Allocation of rte+rta passed to rte_update2() is considered temporary and the caller is also responsible to free these structures properly. This is true for any kind of allocation: rte_update2() will always allocate its own copy of the data passed (either really or just by raising usecount in rta cache). It is now possible (and in many protocols now used) to allocate rte+rta on stack and pass them to rte_update(). It will deal with them correctly. |
||
---|---|---|
.. | ||
krt-sock.c | ||
krt-sock.Y | ||
krt-sys.h | ||
Makefile | ||
setkey.h | ||
sysio.h |