diff options
| author | G. Paul Ziemba <paulz@labn.net> | 2025-03-30 15:43:04 -0700 |
|---|---|---|
| committer | G. Paul Ziemba <paulz@labn.net> | 2025-03-31 08:45:33 -0700 |
| commit | 1629c05924fe96ab487d3ba6bafbe7f11679274c (patch) | |
| tree | ffd7011cd3564be153c6157deb16a44ca4c93b64 /bgpd/rfapi/rfapi_backend.h | |
| parent | a02ec27693ddfa708ec1f62400af6cea533bf1e8 (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.h | 1 |
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); |
