]> git.ipfire.org Git - thirdparty/bird.git/commit
Real almost-lockless feeds and more pull-like exports
authorMaria Matejka <mq@ucw.cz>
Thu, 2 May 2024 09:39:34 +0000 (11:39 +0200)
committerMaria Matejka <mq@ucw.cz>
Tue, 4 Jun 2024 08:11:36 +0000 (10:11 +0200)
commit10bb1c1e9d14169aacd33ddd487eafbf04f465af
tree8ff339e5b3a18ba6895a7ed177c0c4b3faadaafd
parentee7afdabc7b92a1e1971dd326578fcf90f3d8167
Real almost-lockless feeds and more pull-like exports

Introducing a new omnipotent internal API to just pass route updates
from whatever point wherever we want.

From now on, all the exports should be processed by RT_WALK_EXPORTS
macro, and you can also issue a separate feed-only request to just get a
feed and finish.

The exporters can now also stop and the readers must expect that to
happen and recover. Main tables don't stop, though.
31 files changed:
conf/conf.h
lib/lockfree.c
nest/Makefile
nest/cli.c
nest/cli.h
nest/config.Y
nest/proto.c
nest/protocol.h
nest/route.h
nest/rt-attr.c
nest/rt-export.c [new file with mode: 0644]
nest/rt-show.c
nest/rt-table.c
proto/babel/babel.c
proto/babel/babel.h
proto/bgp/attrs.c
proto/bgp/bgp.c
proto/bgp/bgp.h
proto/bgp/packets.c
proto/l3vpn/l3vpn.c
proto/ospf/ospf.c
proto/ospf/topology.c
proto/pipe/pipe.c
proto/pipe/pipe.h
proto/radv/radv.c
proto/rip/rip.c
proto/rip/rip.h
proto/static/static.c
sysdep/linux/netlink.c
sysdep/unix/krt.c
sysdep/unix/krt.h