summaryrefslogtreecommitdiff
path: root/bgpd/rfapi/rfapi_backend.h
diff options
context:
space:
mode:
authorG. Paul Ziemba <paulz@labn.net>2025-03-30 15:43:04 -0700
committerG. Paul Ziemba <paulz@labn.net>2025-03-31 08:45:33 -0700
commit1629c05924fe96ab487d3ba6bafbe7f11679274c (patch)
treeffd7011cd3564be153c6157deb16a44ca4c93b64 /bgpd/rfapi/rfapi_backend.h
parenta02ec27693ddfa708ec1f62400af6cea533bf1e8 (diff)
bgpd: rfapi: track outstanding rib and import timers, free mem at exit
While here, also make "VPN SAFI clear" test wait for clear result (tests/topotests/bgp_rfapi_basic_sanity{,_config2}) Original RFAPI code relied on the frr timer system to remember various allocations that were supposed to be freed at future times rather than manage a parallel database. However, if bgpd is terminated before the times expire, those pending allocations are marked as memory leaks, even though they wouldn't be leaks under normal operation. This change adds some hash tables to track these outstanding allocations that are associated with pending timers, and uses those tables to free the allocations when bgpd exits. Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Diffstat (limited to 'bgpd/rfapi/rfapi_backend.h')
-rw-r--r--bgpd/rfapi/rfapi_backend.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/rfapi/rfapi_backend.h b/bgpd/rfapi/rfapi_backend.h
index 32ea0a2821..b89df74b9a 100644
--- a/bgpd/rfapi/rfapi_backend.h
+++ b/bgpd/rfapi/rfapi_backend.h
@@ -14,6 +14,7 @@
#include "bgpd/bgp_nexthop.h"
extern void rfapi_init(void);
+extern void rfapi_terminate(void);
extern void vnc_zebra_init(struct event_loop *master);
extern void vnc_zebra_destroy(void);