]> git.ipfire.org Git - thirdparty/bird.git/commit
BMP: simplified update queuing and better memory performance
authorMaria Matejka <mq@ucw.cz>
Tue, 17 Sep 2024 14:27:54 +0000 (16:27 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Mon, 2 Dec 2024 02:38:17 +0000 (03:38 +0100)
commite6a100b31a7637ee739338e4b933367707ec931f
tree39ad0f78ba189379d6980b67125e547c03f70ba7
parent460321cfe979459e3b78ba87694f29865d321612
BMP: simplified update queuing and better memory performance

This commit is quite a substantial rework of the underlying layers in
BMP TX:

- several unnecessary layers of indirection dropped, including most of
  the original BMP's buffer machinery
- all messages are now written directly into one protocol's buffer
  allocated for the whole time big enough to fit every possible message
- output blocks are allocated by pages and immediately returned when
  used, improving the overall memory footprint
- no intermediary allocation is done from the heap altogether
- there is a documented and configurable limit on the TX queue size
doc/bird.sgml
proto/bgp/bgp.h
proto/bgp/packets.c
proto/bmp/Makefile
proto/bmp/bmp.c
proto/bmp/bmp.h
proto/bmp/buffer.c [deleted file]
proto/bmp/buffer.h [deleted file]
proto/bmp/config.Y