]> git.ipfire.org Git - thirdparty/bird.git/commit
Split route data structure to storage (ro) / manipulation (rw) structures.
authorMaria Matejka <mq@jmq.cz>
Tue, 28 Jan 2020 10:42:46 +0000 (11:42 +0100)
committerMaria Matejka <mq@ucw.cz>
Tue, 9 Nov 2021 18:20:41 +0000 (19:20 +0100)
commit69d1ffde4c724882398b3b630ea1199f12c0c288
treea7567e07bcd0aa3f9365da83ed2ac23a10e869b6
parent60880b539b8886f76961125d89a265c6e1112b7a
Split route data structure to storage (ro) / manipulation (rw) structures.

Routes are now allocated only when they are just to be inserted to the
table. Updating a route needs a locally allocated route structure.
Ownership of the attributes is also now not transfered from protocols to
tables and vice versa but just borrowed which should be easier to handle
in a multithreaded environment.
27 files changed:
filter/f-inst.c
filter/filter.c
filter/filter.h
nest/protocol.h
nest/route.h
nest/rt-dev.c
nest/rt-show.c
nest/rt-table.c
proto/babel/babel.c
proto/bgp/attrs.c
proto/bgp/bgp.h
proto/bgp/packets.c
proto/mrt/mrt.c
proto/ospf/ospf.c
proto/ospf/rt.c
proto/ospf/topology.c
proto/ospf/topology.h
proto/perf/perf.c
proto/pipe/pipe.c
proto/radv/radv.c
proto/rip/rip.c
proto/rpki/rpki.c
proto/static/static.c
sysdep/bsd/krt-sock.c
sysdep/linux/netlink.c
sysdep/unix/krt.c
sysdep/unix/krt.h