Line | Count | Source |
1 | | // SPDX-License-Identifier: ISC |
2 | | /* |
3 | | * Copyright (c) 2015-16 David Lamparter, for NetDEF, Inc. |
4 | | */ |
5 | | |
6 | | #ifndef _QUAGGA_MEMORY_H |
7 | | #define _QUAGGA_MEMORY_H |
8 | | |
9 | | #include <stdbool.h> |
10 | | #include <stdlib.h> |
11 | | #include <stdio.h> |
12 | | #include <frratomic.h> |
13 | | #include "compiler.h" |
14 | | |
15 | | #ifdef __cplusplus |
16 | | extern "C" { |
17 | | #endif |
18 | | |
19 | | #define FUZZING 1 |
20 | | #ifdef FUZZING |
21 | | #undef HAVE_MALLOC_USABLE_SIZE |
22 | | #undef HAVE_MALLOC_SIZE |
23 | | #endif |
24 | | |
25 | | #if defined(HAVE_MALLOC_SIZE) && !defined(HAVE_MALLOC_USABLE_SIZE) |
26 | | #define malloc_usable_size(x) malloc_size(x) |
27 | | #define HAVE_MALLOC_USABLE_SIZE |
28 | | #endif |
29 | | |
30 | 386k | #define SIZE_VAR ~0UL |
31 | | struct memtype { |
32 | | struct memtype *next, **ref; |
33 | | const char *name; |
34 | | atomic_size_t n_alloc; |
35 | | atomic_size_t n_max; |
36 | | atomic_size_t size; |
37 | | #ifdef HAVE_MALLOC_USABLE_SIZE |
38 | | atomic_size_t total; |
39 | | atomic_size_t max_size; |
40 | | #endif |
41 | | }; |
42 | | |
43 | | struct memgroup { |
44 | | struct memgroup *next, **ref; |
45 | | struct memtype *types, **insert; |
46 | | const char *name; |
47 | | /* ignore group on dumping memleaks at exit */ |
48 | | bool active_at_exit; |
49 | | }; |
50 | | |
51 | | /* macro usage: |
52 | | * |
53 | | * mydaemon.h |
54 | | * DECLARE_MGROUP(MYDAEMON); |
55 | | * DECLARE_MTYPE(MYDAEMON_COMMON); |
56 | | * |
57 | | * mydaemon.c |
58 | | * DEFINE_MGROUP(MYDAEMON, "my daemon memory"); |
59 | | * DEFINE_MTYPE(MYDAEMON, MYDAEMON_COMMON, |
60 | | * "this mtype is used in multiple files in mydaemon"); |
61 | | * foo = qmalloc(MTYPE_MYDAEMON_COMMON, sizeof(*foo)) |
62 | | * |
63 | | * mydaemon_io.c |
64 | | * bar = qmalloc(MTYPE_MYDAEMON_COMMON, sizeof(*bar)) |
65 | | * |
66 | | * DEFINE_MTYPE_STATIC(MYDAEMON, MYDAEMON_IO, |
67 | | * "this mtype is used only in this file"); |
68 | | * baz = qmalloc(MTYPE_MYDAEMON_IO, sizeof(*baz)) |
69 | | * |
70 | | * Note: Naming conventions (MGROUP_ and MTYPE_ prefixes are enforced |
71 | | * by not having these as part of the macro arguments) |
72 | | * Note: MTYPE_* are symbols to the compiler (of type struct memtype *), |
73 | | * but MGROUP_* aren't. |
74 | | */ |
75 | | |
76 | | #define DECLARE_MGROUP(name) extern struct memgroup _mg_##name |
77 | | #define _DEFINE_MGROUP(mname, desc, ...) \ |
78 | | struct memgroup _mg_##mname \ |
79 | | __attribute__((section(".data.mgroups"))) = { \ |
80 | | .name = desc, \ |
81 | | .types = NULL, \ |
82 | | .next = NULL, \ |
83 | | .insert = NULL, \ |
84 | | .ref = NULL, \ |
85 | | __VA_ARGS__ \ |
86 | | }; \ |
87 | | static void _mginit_##mname(void) __attribute__((_CONSTRUCTOR(1000))); \ |
88 | | static void _mginit_##mname(void) \ |
89 | 32 | { \ |
90 | 32 | extern struct memgroup **mg_insert; \ |
91 | 32 | _mg_##mname.ref = mg_insert; \ |
92 | 32 | *mg_insert = &_mg_##mname; \ |
93 | 32 | mg_insert = &_mg_##mname.next; \ |
94 | 32 | } \ ospf_memory.c:_mginit_OSPFD Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
Line | Count | Source | 89 | 8 | { \ | 90 | 8 | extern struct memgroup **mg_insert; \ | 91 | 8 | _mg_##mname.ref = mg_insert; \ | 92 | 8 | *mg_insert = &_mg_##mname; \ | 93 | 8 | mg_insert = &_mg_##mname.next; \ | 94 | 8 | } \ |
zlog_targets.c:_mginit_LOG Line | Count | Source | 89 | 8 | { \ | 90 | 8 | extern struct memgroup **mg_insert; \ | 91 | 8 | _mg_##mname.ref = mg_insert; \ | 92 | 8 | *mg_insert = &_mg_##mname; \ | 93 | 8 | mg_insert = &_mg_##mname.next; \ | 94 | 8 | } \ |
label_manager.c:_mginit_LBL_MGR Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
table_manager.c:_mginit_TABLE_MGR Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
zebra_srv6.c:_mginit_SRV6_MGR Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
zebra_rib.c:_mginit_ZEBRA Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
bgp_memory.c:_mginit_BGPD Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
bgp_rfapi_cfg.c:_mginit_RFAPI Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
pim_memory.c:_mginit_PIMD Line | Count | Source | 89 | 2 | { \ | 90 | 2 | extern struct memgroup **mg_insert; \ | 91 | 2 | _mg_##mname.ref = mg_insert; \ | 92 | 2 | *mg_insert = &_mg_##mname; \ | 93 | 2 | mg_insert = &_mg_##mname.next; \ | 94 | 2 | } \ |
|
95 | | static void _mgfini_##mname(void) __attribute__((_DESTRUCTOR(1000))); \ |
96 | | static void _mgfini_##mname(void) \ |
97 | 0 | { \ |
98 | 0 | if (_mg_##mname.next) \ |
99 | 0 | _mg_##mname.next->ref = _mg_##mname.ref; \ |
100 | 0 | *_mg_##mname.ref = _mg_##mname.next; \ |
101 | 0 | } \ Unexecuted instantiation: ospf_memory.c:_mgfini_OSPFD Unexecuted instantiation: memory.c:_mgfini_LIB Unexecuted instantiation: zlog_targets.c:_mgfini_LOG Unexecuted instantiation: label_manager.c:_mgfini_LBL_MGR Unexecuted instantiation: table_manager.c:_mgfini_TABLE_MGR Unexecuted instantiation: zebra_srv6.c:_mgfini_SRV6_MGR Unexecuted instantiation: zebra_rib.c:_mgfini_ZEBRA Unexecuted instantiation: bgp_memory.c:_mgfini_BGPD Unexecuted instantiation: bgp_rfapi_cfg.c:_mgfini_RFAPI Unexecuted instantiation: pim_memory.c:_mgfini_PIMD |
102 | | MACRO_REQUIRE_SEMICOLON() /* end */ |
103 | | |
104 | | #define DEFINE_MGROUP(mname, desc) \ |
105 | | _DEFINE_MGROUP(mname, desc, ) |
106 | | #define DEFINE_MGROUP_ACTIVEATEXIT(mname, desc) \ |
107 | | _DEFINE_MGROUP(mname, desc, .active_at_exit = true) |
108 | | |
109 | | #define DECLARE_MTYPE(name) \ |
110 | | extern struct memtype MTYPE_##name[1] \ |
111 | | /* end */ |
112 | | |
113 | | #define DEFINE_MTYPE_ATTR(group, mname, attr, desc) \ |
114 | | attr struct memtype MTYPE_##mname[1] \ |
115 | | __attribute__((section(".data.mtypes"))) = { { \ |
116 | | .name = desc, \ |
117 | | .next = NULL, \ |
118 | | .n_alloc = 0, \ |
119 | | .size = 0, \ |
120 | | .ref = NULL, \ |
121 | | } }; \ |
122 | | static void _mtinit_##mname(void) __attribute__((_CONSTRUCTOR(1001))); \ |
123 | | static void _mtinit_##mname(void) \ |
124 | 1.77k | { \ |
125 | 1.77k | if (_mg_##group.insert == NULL) \ |
126 | 1.77k | _mg_##group.insert = &_mg_##group.types; \ |
127 | 1.77k | MTYPE_##mname->ref = _mg_##group.insert; \ |
128 | 1.77k | *_mg_##group.insert = MTYPE_##mname; \ |
129 | 1.77k | _mg_##group.insert = &MTYPE_##mname->next; \ |
130 | 1.77k | } \ |
131 | | static void _mtfini_##mname(void) __attribute__((_DESTRUCTOR(1001))); \ |
132 | | static void _mtfini_##mname(void) \ |
133 | 0 | { \ |
134 | 0 | if (MTYPE_##mname->next) \ |
135 | 0 | MTYPE_##mname->next->ref = MTYPE_##mname->ref; \ |
136 | 0 | *MTYPE_##mname->ref = MTYPE_##mname->next; \ |
137 | 0 | } \ Unexecuted instantiation: ospf_bfd.c:_mtfini_BFD_CONFIG Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_TOP Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_AREA Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_AREA_RANGE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_NETWORK Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_NEIGHBOR_STATIC Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_IF Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_NEIGHBOR Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_ROUTE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_TMP Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_LSA Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_LSA_DATA Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_LSDB Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_PACKET Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_FIFO Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_VERTEX Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_VERTEX_PARENT Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_NEXTHOP Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_PATH Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_VL_DATA Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_CRYPT_KEY Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_EXTERNAL_INFO Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_DISTANCE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_IF_INFO Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_IF_PARAMS Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_MESSAGE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_MPLS_TE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_ROUTER_INFO Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_PCE_PARAMS Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_EXT_PARAMS Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_SR_PARAMS Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_GR_HELPER Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_EXTERNAL_RT_AGGR Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_P_SPACE Unexecuted instantiation: ospf_memory.c:_mtfini_OSPF_Q_SPACE Unexecuted instantiation: ospf_opaque.c:_mtfini_OSPF_OPAQUE_FUNCTAB Unexecuted instantiation: ospf_opaque.c:_mtfini_OPAQUE_INFO_PER_TYPE Unexecuted instantiation: ospf_opaque.c:_mtfini_OPAQUE_INFO_PER_ID Unexecuted instantiation: ospf_zebra.c:_mtfini_OSPF_EXTERNAL Unexecuted instantiation: ospf_zebra.c:_mtfini_OSPF_REDISTRIBUTE Unexecuted instantiation: ospf_apiserver.c:_mtfini_APISERVER Unexecuted instantiation: ospf_apiserver.c:_mtfini_APISERVER_MSGFILTER Unexecuted instantiation: affinitymap.c:_mtfini_AFFINITY_MAP Unexecuted instantiation: affinitymap.c:_mtfini_AFFINITY_MAP_NAME Unexecuted instantiation: affinitymap.c:_mtfini_AFFINITY_MAP_INDEX Unexecuted instantiation: bfd.c:_mtfini_BFD_INFO Unexecuted instantiation: bfd.c:_mtfini_BFD_SOURCE Unexecuted instantiation: buffer.c:_mtfini_BUFFER Unexecuted instantiation: buffer.c:_mtfini_BUFFER_DATA Unexecuted instantiation: command.c:_mtfini_HOST Unexecuted instantiation: command.c:_mtfini_COMPLETION Unexecuted instantiation: command_graph.c:_mtfini_CMD_TOKENS Unexecuted instantiation: command_graph.c:_mtfini_CMD_DESC Unexecuted instantiation: command_graph.c:_mtfini_CMD_TEXT Unexecuted instantiation: command_graph.c:_mtfini_CMD_ARG Unexecuted instantiation: command_graph.c:_mtfini_CMD_VAR Unexecuted instantiation: command_match.c:_mtfini_CMD_MATCHSTACK Unexecuted instantiation: command_parse.c:_mtfini_LEX Unexecuted instantiation: cspf.c:_mtfini_PCA Unexecuted instantiation: distribute.c:_mtfini_DISTRIBUTE_CTX Unexecuted instantiation: distribute.c:_mtfini_DISTRIBUTE Unexecuted instantiation: distribute.c:_mtfini_DISTRIBUTE_IFNAME Unexecuted instantiation: distribute.c:_mtfini_DISTRIBUTE_NAME Unexecuted instantiation: ferr.c:_mtfini_ERRINFO Unexecuted instantiation: filter.c:_mtfini_ACCESS_LIST Unexecuted instantiation: filter.c:_mtfini_ACCESS_LIST_STR Unexecuted instantiation: filter.c:_mtfini_ACCESS_FILTER Unexecuted instantiation: flex_algo.c:_mtfini_FLEX_ALGO_DATABASE Unexecuted instantiation: flex_algo.c:_mtfini_FLEX_ALGO Unexecuted instantiation: frrcu.c:_mtfini_RCU_THREAD Unexecuted instantiation: frrcu.c:_mtfini_RCU_NEXT Unexecuted instantiation: frr_pthread.c:_mtfini_FRR_PTHREAD Unexecuted instantiation: frr_pthread.c:_mtfini_PTHREAD_PRIM Unexecuted instantiation: grammar_sandbox.c:_mtfini_CMD_DESCRIPTIONS Unexecuted instantiation: graph.c:_mtfini_GRAPH Unexecuted instantiation: graph.c:_mtfini_GRAPH_NODE Unexecuted instantiation: hash.c:_mtfini_HASH Unexecuted instantiation: hash.c:_mtfini_HASH_BUCKET Unexecuted instantiation: hash.c:_mtfini_HASH_INDEX Unexecuted instantiation: hook.c:_mtfini_HOOK_ENTRY Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_ALLOCATOR Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_ALLOCATOR_NAME Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_DIRECTORY Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_SUBDIRECTORY Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_PAGE Unexecuted instantiation: id_alloc.c:_mtfini_IDALLOC_POOL Unexecuted instantiation: if.c:_mtfini_IF Unexecuted instantiation: if.c:_mtfini_IFDESC Unexecuted instantiation: if.c:_mtfini_CONNECTED Unexecuted instantiation: if.c:_mtfini_NBR_CONNECTED Unexecuted instantiation: if.c:_mtfini_CONNECTED_LABEL Unexecuted instantiation: if.c:_mtfini_IF_LINK_PARAMS Unexecuted instantiation: if_rmap.c:_mtfini_IF_RMAP_CTX Unexecuted instantiation: if_rmap.c:_mtfini_IF_RMAP_CTX_NAME Unexecuted instantiation: if_rmap.c:_mtfini_IF_RMAP Unexecuted instantiation: if_rmap.c:_mtfini_IF_RMAP_NAME Unexecuted instantiation: keychain.c:_mtfini_KEY Unexecuted instantiation: keychain.c:_mtfini_KEYCHAIN Unexecuted instantiation: ldp_sync.c:_mtfini_LDP_SYNC_INFO Unexecuted instantiation: linklist.c:_mtfini_LINK_LIST Unexecuted instantiation: linklist.c:_mtfini_LINK_NODE Unexecuted instantiation: link_state.c:_mtfini_LS_DB Unexecuted instantiation: memory.c:_mtfini_TMP Unexecuted instantiation: memory.c:_mtfini_BITFIELD Unexecuted instantiation: mgmt_be_client.c:_mtfini_MGMTD_BE_CLIENT Unexecuted instantiation: mgmt_be_client.c:_mtfini_MGMTD_BE_CLIENT_NAME Unexecuted instantiation: mgmt_be_client.c:_mtfini_MGMTD_BE_BATCH Unexecuted instantiation: mgmt_be_client.c:_mtfini_MGMTD_BE_TXN Unexecuted instantiation: mgmt_fe_client.c:_mtfini_MGMTD_FE_CLIENT Unexecuted instantiation: mgmt_fe_client.c:_mtfini_MGMTD_FE_CLIENT_NAME Unexecuted instantiation: mgmt_fe_client.c:_mtfini_MGMTD_FE_SESSION Unexecuted instantiation: mgmt_msg.c:_mtfini_MSG_CONN Unexecuted instantiation: module.c:_mtfini_MODULE_LOADNAME Unexecuted instantiation: module.c:_mtfini_MODULE_LOADARGS Unexecuted instantiation: module.c:_mtfini_MODULE_LOAD_ERR Unexecuted instantiation: srv6.c:_mtfini_SRV6_LOCATOR Unexecuted instantiation: srv6.c:_mtfini_SRV6_LOCATOR_CHUNK Unexecuted instantiation: nexthop.c:_mtfini_NEXTHOP Unexecuted instantiation: nexthop.c:_mtfini_NH_LABEL Unexecuted instantiation: nexthop.c:_mtfini_NH_SRV6 Unexecuted instantiation: netns_linux.c:_mtfini_NS Unexecuted instantiation: netns_linux.c:_mtfini_NS_NAME Unexecuted instantiation: nexthop_group.c:_mtfini_NEXTHOP_GROUP Unexecuted instantiation: northbound.c:_mtfini_NB_NODE Unexecuted instantiation: northbound.c:_mtfini_NB_CONFIG Unexecuted instantiation: northbound.c:_mtfini_NB_CONFIG_ENTRY Unexecuted instantiation: plist.c:_mtfini_PREFIX_LIST Unexecuted instantiation: plist.c:_mtfini_MPREFIX_LIST_STR Unexecuted instantiation: plist.c:_mtfini_PREFIX_LIST_ENTRY Unexecuted instantiation: plist.c:_mtfini_PREFIX_LIST_TRIE Unexecuted instantiation: prefix.c:_mtfini_PREFIX Unexecuted instantiation: prefix.c:_mtfini_PREFIX_FLOWSPEC Unexecuted instantiation: privs.c:_mtfini_PRIVS Unexecuted instantiation: pullwr.c:_mtfini_PULLWR_HEAD Unexecuted instantiation: pullwr.c:_mtfini_PULLWR_BUF Unexecuted instantiation: ringbuf.c:_mtfini_RINGBUFFER Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_NAME Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_INDEX Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_RULE Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_RULE_STR Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_COMPILED Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_DEP Unexecuted instantiation: routemap.c:_mtfini_ROUTE_MAP_DEP_DATA Unexecuted instantiation: skiplist.c:_mtfini_SKIP_LIST Unexecuted instantiation: skiplist.c:_mtfini_SKIP_LIST_NODE Unexecuted instantiation: skiplist.c:_mtfini_SKIP_LIST_STATS Unexecuted instantiation: sockunion.c:_mtfini_SOCKUNION Unexecuted instantiation: spf_backoff.c:_mtfini_SPF_BACKOFF Unexecuted instantiation: spf_backoff.c:_mtfini_SPF_BACKOFF_NAME Unexecuted instantiation: srcdest_table.c:_mtfini_ROUTE_SRC_NODE Unexecuted instantiation: stream.c:_mtfini_STREAM Unexecuted instantiation: stream.c:_mtfini_STREAM_FIFO Unexecuted instantiation: table.c:_mtfini_ROUTE_TABLE Unexecuted instantiation: table.c:_mtfini_ROUTE_NODE Unexecuted instantiation: termtable.c:_mtfini_TTABLE Unexecuted instantiation: event.c:_mtfini_THREAD Unexecuted instantiation: event.c:_mtfini_EVENT_MASTER Unexecuted instantiation: event.c:_mtfini_EVENT_POLL Unexecuted instantiation: event.c:_mtfini_EVENT_STATS Unexecuted instantiation: typesafe.c:_mtfini_TYPEDHASH_BUCKET Unexecuted instantiation: typesafe.c:_mtfini_SKIPLIST_OFLOW Unexecuted instantiation: typesafe.c:_mtfini_HEAP_ARRAY Unexecuted instantiation: vector.c:_mtfini_VECTOR Unexecuted instantiation: vector.c:_mtfini_VECTOR_INDEX Unexecuted instantiation: vrf.c:_mtfini_VRF Unexecuted instantiation: vrf.c:_mtfini_VRF_BITMAP Unexecuted instantiation: vty.c:_mtfini_VTY Unexecuted instantiation: vty.c:_mtfini_VTY_SERV Unexecuted instantiation: vty.c:_mtfini_VTY_OUT_BUF Unexecuted instantiation: vty.c:_mtfini_VTY_HIST Unexecuted instantiation: wheel.c:_mtfini_TIMER_WHEEL Unexecuted instantiation: wheel.c:_mtfini_TIMER_WHEEL_LIST Unexecuted instantiation: workqueue.c:_mtfini_WORK_QUEUE Unexecuted instantiation: workqueue.c:_mtfini_WORK_QUEUE_ITEM Unexecuted instantiation: workqueue.c:_mtfini_WORK_QUEUE_NAME Unexecuted instantiation: yang.c:_mtfini_YANG_MODULE Unexecuted instantiation: yang.c:_mtfini_YANG_DATA Unexecuted instantiation: yang_translator.c:_mtfini_YANG_TRANSLATOR Unexecuted instantiation: yang_translator.c:_mtfini_YANG_TRANSLATOR_MODULE Unexecuted instantiation: yang_translator.c:_mtfini_YANG_TRANSLATOR_MAPPING Unexecuted instantiation: zclient.c:_mtfini_ZCLIENT Unexecuted instantiation: zclient.c:_mtfini_REDIST_INST Unexecuted instantiation: zlog.c:_mtfini_LOG_MESSAGE Unexecuted instantiation: zlog.c:_mtfini_LOG_TLSBUF Unexecuted instantiation: zlog_5424.c:_mtfini_LOG_5424 Unexecuted instantiation: zlog_5424.c:_mtfini_LOG_5424_ROTATE Unexecuted instantiation: zlog_5424_cli.c:_mtfini_LOG_5424_CONFIG Unexecuted instantiation: zlog_5424_cli.c:_mtfini_LOG_5424_DATA Unexecuted instantiation: zlog_live.c:_mtfini_LOG_LIVE Unexecuted instantiation: zlog_targets.c:_mtfini_LOG_FD Unexecuted instantiation: zlog_targets.c:_mtfini_LOG_FD_NAME Unexecuted instantiation: zlog_targets.c:_mtfini_LOG_FD_ROTATE Unexecuted instantiation: zlog_targets.c:_mtfini_LOG_SYSL Unexecuted instantiation: interface.c:_mtfini_ZINFO Unexecuted instantiation: interface.c:_mtfini_ZIF_DESC Unexecuted instantiation: kernel_netlink.c:_mtfini_NL_BUF Unexecuted instantiation: label_manager.c:_mtfini_LM_CHUNK Unexecuted instantiation: rtadv.c:_mtfini_RTADV_PREFIX Unexecuted instantiation: rtadv.c:_mtfini_ADV_IF Unexecuted instantiation: rtadv.c:_mtfini_RTADV_RDNSS Unexecuted instantiation: rtadv.c:_mtfini_RTADV_DNSSL Unexecuted instantiation: table_manager.c:_mtfini_TM_CHUNK Unexecuted instantiation: table_manager.c:_mtfini_TM_TABLE Unexecuted instantiation: zapi_msg.c:_mtfini_RE_OPAQUE Unexecuted instantiation: zebra_dplane.c:_mtfini_DP_CTX Unexecuted instantiation: zebra_dplane.c:_mtfini_DP_INTF Unexecuted instantiation: zebra_dplane.c:_mtfini_DP_PROV Unexecuted instantiation: zebra_dplane.c:_mtfini_DP_NETFILTER Unexecuted instantiation: zebra_dplane.c:_mtfini_DP_NS Unexecuted instantiation: zebra_gr.c:_mtfini_ZEBRA_GR Unexecuted instantiation: zebra_evpn.c:_mtfini_ZEVPN Unexecuted instantiation: zebra_evpn.c:_mtfini_ZEVPN_VTEP Unexecuted instantiation: zebra_evpn_mac.c:_mtfini_MAC Unexecuted instantiation: zebra_evpn_neigh.c:_mtfini_NEIGH Unexecuted instantiation: zebra_mpls.c:_mtfini_LSP Unexecuted instantiation: zebra_mpls.c:_mtfini_FEC Unexecuted instantiation: zebra_mpls.c:_mtfini_NHLFE Unexecuted instantiation: zebra_srv6.c:_mtfini_SRV6M_CHUNK Unexecuted instantiation: zebra_netns_notify.c:_mtfini_NETNS_MISC Unexecuted instantiation: zebra_nhg.c:_mtfini_NHG Unexecuted instantiation: zebra_nhg.c:_mtfini_NHG_CONNECTED Unexecuted instantiation: zebra_nhg.c:_mtfini_NHG_CTX Unexecuted instantiation: zebra_ns.c:_mtfini_ZEBRA_NS Unexecuted instantiation: zebra_opaque.c:_mtfini_OPQ Unexecuted instantiation: zebra_pbr.c:_mtfini_PBR_IPTABLE_IFNAME Unexecuted instantiation: zebra_pbr.c:_mtfini_PBR_OBJ Unexecuted instantiation: zebra_ptm.c:_mtfini_ZEBRA_PTM_BFD_PROCESS Unexecuted instantiation: zebra_pw.c:_mtfini_PW Unexecuted instantiation: zebra_rib.c:_mtfini_RE Unexecuted instantiation: zebra_rib.c:_mtfini_RIB_DEST Unexecuted instantiation: zebra_rib.c:_mtfini_RIB_UPDATE_CTX Unexecuted instantiation: zebra_rib.c:_mtfini_WQ_WRAPPER Unexecuted instantiation: zebra_router.c:_mtfini_RIB_TABLE_INFO Unexecuted instantiation: zebra_router.c:_mtfini_ZEBRA_RT_TABLE Unexecuted instantiation: zebra_rnh.c:_mtfini_RNH Unexecuted instantiation: zebra_srte.c:_mtfini_ZEBRA_SR_POLICY Unexecuted instantiation: zebra_tc.c:_mtfini_TC_QDISC Unexecuted instantiation: zebra_tc.c:_mtfini_TC_CLASS Unexecuted instantiation: zebra_tc.c:_mtfini_TC_FILTER Unexecuted instantiation: zebra_vrf.c:_mtfini_ZEBRA_VRF Unexecuted instantiation: zebra_vrf.c:_mtfini_OTHER_TABLE Unexecuted instantiation: zebra_vxlan.c:_mtfini_HOST_PREFIX Unexecuted instantiation: zebra_vxlan.c:_mtfini_ZL3VNI Unexecuted instantiation: zebra_vxlan.c:_mtfini_L3VNI_MAC Unexecuted instantiation: zebra_vxlan.c:_mtfini_L3NEIGH Unexecuted instantiation: zebra_vxlan.c:_mtfini_ZVXLAN_SG Unexecuted instantiation: zebra_vxlan.c:_mtfini_EVPN_VTEP Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_ZACC_BD Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_ZES Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_ZES_EVI Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_ZMH_INFO Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_ZES_VTEP Unexecuted instantiation: zebra_evpn_mh.c:_mtfini_L2_NH Unexecuted instantiation: zebra_neigh.c:_mtfini_ZNEIGH_INFO Unexecuted instantiation: zebra_neigh.c:_mtfini_ZNEIGH_ENT Unexecuted instantiation: zserv.c:_mtfini_ZSERV_CLIENT Unexecuted instantiation: bgp_evpn.c:_mtfini_VRF_ROUTE_TARGET Unexecuted instantiation: bgp_keepalives.c:_mtfini_BGP_PKAT Unexecuted instantiation: bgp_keepalives.c:_mtfini_BGP_COND Unexecuted instantiation: bgp_keepalives.c:_mtfini_BGP_MUTEX Unexecuted instantiation: bgp_labelpool.c:_mtfini_BGP_LABEL_CHUNK Unexecuted instantiation: bgp_labelpool.c:_mtfini_BGP_LABEL_FIFO Unexecuted instantiation: bgp_labelpool.c:_mtfini_BGP_LABEL_CB Unexecuted instantiation: bgp_labelpool.c:_mtfini_BGP_LABEL_CBQ Unexecuted instantiation: bgp_labelpool.c:_mtfini_LABEL_PER_NEXTHOP_CACHE Unexecuted instantiation: bgp_mac.c:_mtfini_BSM Unexecuted instantiation: bgp_mac.c:_mtfini_BSM_STRING Unexecuted instantiation: bgp_memory.c:_mtfini_BGP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_LISTENER Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PEER Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PEER_HOST Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PEER_IFNAME Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_GROUP Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_GROUP_HOST Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_DESC Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_PASSWORD Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PEER_AF Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_UPDGRP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_UPD_SUBGRP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PACKET Unexecuted instantiation: bgp_memory.c:_mtfini_ATTR Unexecuted instantiation: bgp_memory.c:_mtfini_AS_PATH Unexecuted instantiation: bgp_memory.c:_mtfini_AS_SEG Unexecuted instantiation: bgp_memory.c:_mtfini_AS_SEG_DATA Unexecuted instantiation: bgp_memory.c:_mtfini_AS_STR Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_TABLE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_NODE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ROUTE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ROUTE_EXTRA Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_CONN Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_STATIC Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ADVERTISE_ATTR Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ADVERTISE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SYNCHRONISE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ADJ_IN Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ADJ_OUT Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_MPATH_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_AS_LIST Unexecuted instantiation: bgp_memory.c:_mtfini_AS_FILTER Unexecuted instantiation: bgp_memory.c:_mtfini_AS_FILTER_STR Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_ALIAS Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_VAL Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_STR Unexecuted instantiation: bgp_memory.c:_mtfini_ECOMMUNITY Unexecuted instantiation: bgp_memory.c:_mtfini_ECOMMUNITY_VAL Unexecuted instantiation: bgp_memory.c:_mtfini_ECOMMUNITY_STR Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_LIST Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_LIST_NAME Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_LIST_ENTRY Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_LIST_CONFIG Unexecuted instantiation: bgp_memory.c:_mtfini_COMMUNITY_LIST_HANDLER Unexecuted instantiation: bgp_memory.c:_mtfini_CLUSTER Unexecuted instantiation: bgp_memory.c:_mtfini_CLUSTER_VAL Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_PROCESS_QUEUE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_CLEAR_NODE_QUEUE Unexecuted instantiation: bgp_memory.c:_mtfini_TRANSIT Unexecuted instantiation: bgp_memory.c:_mtfini_TRANSIT_VAL Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DEBUG_FILTER Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DEBUG_STR Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DISTANCE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_NEXTHOP_CACHE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_CONFED_LIST Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_UPDATE_SOURCE Unexecuted instantiation: bgp_memory.c:_mtfini_PEER_CONF_IF Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DAMP_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DAMP_ARRAY Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_REGEXP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_AGGREGATE Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_ADDR Unexecuted instantiation: bgp_memory.c:_mtfini_TIP_ADDR Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_REDIST Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_FILTER_NAME Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_DUMP_STR Unexecuted instantiation: bgp_memory.c:_mtfini_ENCAP_TLV Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_TEA_OPTIONS Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_TEA_OPTIONS_VALUE Unexecuted instantiation: bgp_memory.c:_mtfini_LCOMMUNITY Unexecuted instantiation: bgp_memory.c:_mtfini_LCOMMUNITY_STR Unexecuted instantiation: bgp_memory.c:_mtfini_LCOMMUNITY_VAL Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_MH_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES_VTEP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_PATH_MH_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_PATH_ES_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_PATH_NH_INFO Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_NH Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES_EVI_VTEP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES_FRAG Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES_EVI Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_ES_VRF Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_IMPORT_RT Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_EVPN_VRF_IMPORT_RT Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SRV6_L3VPN Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SRV6_VPN Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SRV6_SID Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SRV6_FUNCTION Unexecuted instantiation: bgp_memory.c:_mtfini_EVPN_REMOTE_IP Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_NOTIFICATION Unexecuted instantiation: bgp_memory.c:_mtfini_BGP_SOFT_VERSION Unexecuted instantiation: bgp_nexthop.c:_mtfini_MARTIAN_STRING Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR_MATCH_ENTRY Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR_MATCH Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR_ACTION Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR_RULE Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR Unexecuted instantiation: bgp_pbr.c:_mtfini_PBR_VALMASK Unexecuted instantiation: bgp_zebra.c:_mtfini_BGP_IF_INFO Unexecuted instantiation: bgpd.c:_mtfini_PEER_TX_SHUTDOWN_MSG Unexecuted instantiation: bgpd.c:_mtfini_BGP_EVPN_INFO Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_CFG Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_GROUP_CFG Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_L2_CFG Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_RFP_GROUP_CFG Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_DESC Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_IMPORTTABLE Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_MONITOR Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_MONITOR_ENCAP Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_NEXTHOP Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_VN_OPTION Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_UN_OPTION Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_WITHDRAW Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_RFG_NAME Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_ADB Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_ETI Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_NVE_ADDR Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_PREFIX_BAG Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_IT_EXTRA Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_INFO Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_ADDR Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_UPDATED_RESPONSE_QUEUE Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_RECENT_DELETE Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_L2ADDR_OPT Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_AP Unexecuted instantiation: bgp_rfapi_cfg.c:_mtfini_RFAPI_MONITOR_ETH Unexecuted instantiation: bgp_bfd.c:_mtfini_BFD_CONFIG Unexecuted instantiation: pim_bsm.c:_mtfini_PIM_BSGRP_NODE Unexecuted instantiation: pim_bsm.c:_mtfini_PIM_BSRP_INFO Unexecuted instantiation: pim_bsm.c:_mtfini_PIM_BSM_FRAG Unexecuted instantiation: pim_bsm.c:_mtfini_PIM_BSM_PKT_VAR_MEM Unexecuted instantiation: pim_memory.c:_mtfini_PIM_CHANNEL_OIL Unexecuted instantiation: pim_memory.c:_mtfini_PIM_INTERFACE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_IGMP_JOIN Unexecuted instantiation: pim_memory.c:_mtfini_PIM_IGMP_SOCKET Unexecuted instantiation: pim_memory.c:_mtfini_PIM_IGMP_GROUP Unexecuted instantiation: pim_memory.c:_mtfini_PIM_IGMP_GROUP_SOURCE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_NEIGHBOR Unexecuted instantiation: pim_memory.c:_mtfini_PIM_IFCHANNEL Unexecuted instantiation: pim_memory.c:_mtfini_PIM_UPSTREAM Unexecuted instantiation: pim_memory.c:_mtfini_PIM_SSMPINGD Unexecuted instantiation: pim_memory.c:_mtfini_PIM_STATIC_ROUTE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_RP Unexecuted instantiation: pim_memory.c:_mtfini_PIM_FILTER_NAME Unexecuted instantiation: pim_memory.c:_mtfini_PIM_MSDP_PEER Unexecuted instantiation: pim_memory.c:_mtfini_PIM_MSDP_MG_NAME Unexecuted instantiation: pim_memory.c:_mtfini_PIM_MSDP_SA Unexecuted instantiation: pim_memory.c:_mtfini_PIM_MSDP_MG Unexecuted instantiation: pim_memory.c:_mtfini_PIM_MSDP_MG_MBR Unexecuted instantiation: pim_memory.c:_mtfini_PIM_SEC_ADDR Unexecuted instantiation: pim_memory.c:_mtfini_PIM_JP_AGG_GROUP Unexecuted instantiation: pim_memory.c:_mtfini_PIM_JP_AGG_SOURCE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_PIM_INSTANCE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_NEXTHOP_CACHE Unexecuted instantiation: pim_memory.c:_mtfini_PIM_SSM_INFO Unexecuted instantiation: pim_memory.c:_mtfini_PIM_PLIST_NAME Unexecuted instantiation: pim_memory.c:_mtfini_PIM_VXLAN_SG Unexecuted instantiation: pimd.c:_mtfini_ROUTER |
138 | | MACRO_REQUIRE_SEMICOLON() /* end */ |
139 | | |
140 | | #define DEFINE_MTYPE(group, name, desc) \ |
141 | | DEFINE_MTYPE_ATTR(group, name, , desc) \ |
142 | | /* end */ |
143 | | |
144 | | #define DEFINE_MTYPE_STATIC(group, name, desc) \ |
145 | | DEFINE_MTYPE_ATTR(group, name, static, desc) \ |
146 | | /* end */ |
147 | | |
148 | | DECLARE_MGROUP(LIB); |
149 | | DECLARE_MTYPE(TMP); |
150 | | |
151 | | |
152 | | extern void *qmalloc(struct memtype *mt, size_t size) |
153 | | __attribute__((malloc, _ALLOC_SIZE(2), nonnull(1) _RET_NONNULL)); |
154 | | extern void *qcalloc(struct memtype *mt, size_t size) |
155 | | __attribute__((malloc, _ALLOC_SIZE(2), nonnull(1) _RET_NONNULL)); |
156 | | extern void *qrealloc(struct memtype *mt, void *ptr, size_t size) |
157 | | __attribute__((_ALLOC_SIZE(3), nonnull(1) _RET_NONNULL)); |
158 | | extern void *qstrdup(struct memtype *mt, const char *str) |
159 | | __attribute__((malloc, nonnull(1) _RET_NONNULL)); |
160 | | extern void qcountfree(struct memtype *mt, void *ptr) |
161 | | __attribute__((nonnull(1))); |
162 | | extern void qfree(struct memtype *mt, void *ptr) __attribute__((nonnull(1))); |
163 | | |
164 | 123k | #define XMALLOC(mtype, size) qmalloc(mtype, size) |
165 | 1.31M | #define XCALLOC(mtype, size) qcalloc(mtype, size) |
166 | 19.7k | #define XREALLOC(mtype, ptr, size) qrealloc(mtype, ptr, size) |
167 | 79.4k | #define XSTRDUP(mtype, str) qstrdup(mtype, str) |
168 | | #define XCOUNTFREE(mtype, ptr) qcountfree(mtype, ptr) |
169 | | #define XFREE(mtype, ptr) \ |
170 | 1.43M | do { \ |
171 | 1.43M | qfree(mtype, ptr); \ |
172 | 1.43M | ptr = NULL; \ |
173 | 1.43M | } while (0) |
174 | | |
175 | | static inline size_t mtype_stats_alloc(struct memtype *mt) |
176 | 0 | { |
177 | 0 | return mt->n_alloc; |
178 | 0 | } Unexecuted instantiation: ospf_main.c:mtype_stats_alloc Unexecuted instantiation: frr-ospf-route-map.yang.c:mtype_stats_alloc Unexecuted instantiation: ospf_bfd.c:mtype_stats_alloc Unexecuted instantiation: ospf_dump.c:mtype_stats_alloc Unexecuted instantiation: ospf_dump_api.c:mtype_stats_alloc Unexecuted instantiation: ospf_errors.c:mtype_stats_alloc Unexecuted instantiation: ospf_interface.c:mtype_stats_alloc Unexecuted instantiation: ospf_lsa.c:mtype_stats_alloc Unexecuted instantiation: ospf_lsdb.c:mtype_stats_alloc Unexecuted instantiation: ospf_memory.c:mtype_stats_alloc Unexecuted instantiation: ospf_neighbor.c:mtype_stats_alloc Unexecuted instantiation: ospf_network.c:mtype_stats_alloc Unexecuted instantiation: ospf_nsm.c:mtype_stats_alloc Unexecuted instantiation: ospf_opaque.c:mtype_stats_alloc Unexecuted instantiation: ospf_packet.c:mtype_stats_alloc Unexecuted instantiation: ospf_ri.c:mtype_stats_alloc Unexecuted instantiation: ospf_routemap.c:mtype_stats_alloc Unexecuted instantiation: ospf_routemap_nb.c:mtype_stats_alloc Unexecuted instantiation: ospf_routemap_nb_config.c:mtype_stats_alloc Unexecuted instantiation: ospf_spf.c:mtype_stats_alloc Unexecuted instantiation: ospf_ti_lfa.c:mtype_stats_alloc Unexecuted instantiation: ospf_sr.c:mtype_stats_alloc Unexecuted instantiation: ospf_te.c:mtype_stats_alloc Unexecuted instantiation: ospf_vty.c:mtype_stats_alloc Unexecuted instantiation: ospf_zebra.c:mtype_stats_alloc Unexecuted instantiation: ospfd.c:mtype_stats_alloc Unexecuted instantiation: ospf_gr_helper.c:mtype_stats_alloc Unexecuted instantiation: ospf_abr.c:mtype_stats_alloc Unexecuted instantiation: ospf_apiserver.c:mtype_stats_alloc Unexecuted instantiation: ospf_asbr.c:mtype_stats_alloc Unexecuted instantiation: ospf_ase.c:mtype_stats_alloc Unexecuted instantiation: ospf_ext.c:mtype_stats_alloc Unexecuted instantiation: ospf_flood.c:mtype_stats_alloc Unexecuted instantiation: ospf_gr.c:mtype_stats_alloc Unexecuted instantiation: ospf_ia.c:mtype_stats_alloc Unexecuted instantiation: ospf_ism.c:mtype_stats_alloc Unexecuted instantiation: ospf_ldp_sync.c:mtype_stats_alloc Unexecuted instantiation: ospf_route.c:mtype_stats_alloc Unexecuted instantiation: ospf_api.c:mtype_stats_alloc Unexecuted instantiation: admin_group.c:mtype_stats_alloc Unexecuted instantiation: affinitymap.c:mtype_stats_alloc Unexecuted instantiation: affinitymap_cli.c:mtype_stats_alloc Unexecuted instantiation: affinitymap_northbound.c:mtype_stats_alloc Unexecuted instantiation: agg_table.c:mtype_stats_alloc Unexecuted instantiation: asn.c:mtype_stats_alloc Unexecuted instantiation: bfd.c:mtype_stats_alloc Unexecuted instantiation: buffer.c:mtype_stats_alloc Unexecuted instantiation: command.c:mtype_stats_alloc Unexecuted instantiation: command_graph.c:mtype_stats_alloc Unexecuted instantiation: command_lex.c:mtype_stats_alloc Unexecuted instantiation: command_match.c:mtype_stats_alloc Unexecuted instantiation: command_parse.c:mtype_stats_alloc Unexecuted instantiation: cspf.c:mtype_stats_alloc Unexecuted instantiation: debug.c:mtype_stats_alloc Unexecuted instantiation: distribute.c:mtype_stats_alloc Unexecuted instantiation: ferr.c:mtype_stats_alloc Unexecuted instantiation: filter.c:mtype_stats_alloc Unexecuted instantiation: filter_cli.c:mtype_stats_alloc Unexecuted instantiation: filter_nb.c:mtype_stats_alloc Unexecuted instantiation: flex_algo.c:mtype_stats_alloc Unexecuted instantiation: frrcu.c:mtype_stats_alloc Unexecuted instantiation: frr_pthread.c:mtype_stats_alloc Unexecuted instantiation: frrstr.c:mtype_stats_alloc Unexecuted instantiation: grammar_sandbox.c:mtype_stats_alloc Unexecuted instantiation: graph.c:mtype_stats_alloc Unexecuted instantiation: hash.c:mtype_stats_alloc Unexecuted instantiation: hook.c:mtype_stats_alloc Unexecuted instantiation: id_alloc.c:mtype_stats_alloc Unexecuted instantiation: if.c:mtype_stats_alloc Unexecuted instantiation: if_rmap.c:mtype_stats_alloc Unexecuted instantiation: imsg.c:mtype_stats_alloc Unexecuted instantiation: iso.c:mtype_stats_alloc Unexecuted instantiation: json.c:mtype_stats_alloc Unexecuted instantiation: keychain.c:mtype_stats_alloc Unexecuted instantiation: ldp_sync.c:mtype_stats_alloc Unexecuted instantiation: lib_errors.c:mtype_stats_alloc Unexecuted instantiation: lib_vty.c:mtype_stats_alloc Unexecuted instantiation: libfrr.c:mtype_stats_alloc Unexecuted instantiation: linklist.c:mtype_stats_alloc Unexecuted instantiation: link_state.c:mtype_stats_alloc Unexecuted instantiation: log.c:mtype_stats_alloc Unexecuted instantiation: log_filter.c:mtype_stats_alloc Unexecuted instantiation: log_vty.c:mtype_stats_alloc Unexecuted instantiation: memory.c:mtype_stats_alloc Unexecuted instantiation: mgmt_be_client.c:mtype_stats_alloc Unexecuted instantiation: mgmt_fe_client.c:mtype_stats_alloc Unexecuted instantiation: mgmt_msg.c:mtype_stats_alloc Unexecuted instantiation: mlag.c:mtype_stats_alloc Unexecuted instantiation: module.c:mtype_stats_alloc Unexecuted instantiation: mpls.c:mtype_stats_alloc Unexecuted instantiation: srv6.c:mtype_stats_alloc Unexecuted instantiation: network.c:mtype_stats_alloc Unexecuted instantiation: nexthop.c:mtype_stats_alloc Unexecuted instantiation: netns_linux.c:mtype_stats_alloc Unexecuted instantiation: nexthop_group.c:mtype_stats_alloc Unexecuted instantiation: northbound.c:mtype_stats_alloc Unexecuted instantiation: northbound_cli.c:mtype_stats_alloc Unexecuted instantiation: northbound_db.c:mtype_stats_alloc Unexecuted instantiation: pid_output.c:mtype_stats_alloc Unexecuted instantiation: plist.c:mtype_stats_alloc Unexecuted instantiation: prefix.c:mtype_stats_alloc Unexecuted instantiation: privs.c:mtype_stats_alloc Unexecuted instantiation: pullwr.c:mtype_stats_alloc Unexecuted instantiation: qobj.c:mtype_stats_alloc Unexecuted instantiation: ringbuf.c:mtype_stats_alloc Unexecuted instantiation: routemap.c:mtype_stats_alloc Unexecuted instantiation: routemap_cli.c:mtype_stats_alloc Unexecuted instantiation: routemap_northbound.c:mtype_stats_alloc Unexecuted instantiation: sbuf.c:mtype_stats_alloc Unexecuted instantiation: sigevent.c:mtype_stats_alloc Unexecuted instantiation: skiplist.c:mtype_stats_alloc Unexecuted instantiation: sockopt.c:mtype_stats_alloc Unexecuted instantiation: sockunion.c:mtype_stats_alloc Unexecuted instantiation: spf_backoff.c:mtype_stats_alloc Unexecuted instantiation: srcdest_table.c:mtype_stats_alloc Unexecuted instantiation: stream.c:mtype_stats_alloc Unexecuted instantiation: strformat.c:mtype_stats_alloc Unexecuted instantiation: systemd.c:mtype_stats_alloc Unexecuted instantiation: table.c:mtype_stats_alloc Unexecuted instantiation: termtable.c:mtype_stats_alloc Unexecuted instantiation: event.c:mtype_stats_alloc Unexecuted instantiation: typesafe.c:mtype_stats_alloc Unexecuted instantiation: vector.c:mtype_stats_alloc Unexecuted instantiation: vrf.c:mtype_stats_alloc Unexecuted instantiation: vty.c:mtype_stats_alloc Unexecuted instantiation: wheel.c:mtype_stats_alloc Unexecuted instantiation: workqueue.c:mtype_stats_alloc Unexecuted instantiation: xref.c:mtype_stats_alloc Unexecuted instantiation: yang.c:mtype_stats_alloc Unexecuted instantiation: yang_translator.c:mtype_stats_alloc Unexecuted instantiation: yang_wrappers.c:mtype_stats_alloc Unexecuted instantiation: zclient.c:mtype_stats_alloc Unexecuted instantiation: zlog.c:mtype_stats_alloc Unexecuted instantiation: zlog_5424.c:mtype_stats_alloc Unexecuted instantiation: zlog_5424_cli.c:mtype_stats_alloc Unexecuted instantiation: zlog_live.c:mtype_stats_alloc Unexecuted instantiation: zlog_targets.c:mtype_stats_alloc Unexecuted instantiation: printf-pos.c:mtype_stats_alloc Unexecuted instantiation: vfprintf.c:mtype_stats_alloc Unexecuted instantiation: glue.c:mtype_stats_alloc Unexecuted instantiation: routing_nb.c:mtype_stats_alloc Unexecuted instantiation: routing_nb_config.c:mtype_stats_alloc Unexecuted instantiation: tc.c:mtype_stats_alloc Unexecuted instantiation: frr-affinity-map.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-filter.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-if-rmap.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-interface.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-route-map.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-route-types.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-vrf.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-routing.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-nexthop.yang.c:mtype_stats_alloc Unexecuted instantiation: ietf-routing-types.yang.c:mtype_stats_alloc Unexecuted instantiation: ietf-interfaces.yang.c:mtype_stats_alloc Unexecuted instantiation: ietf-bgp-types.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-module-translator.yang.c:mtype_stats_alloc Unexecuted instantiation: connected.c:mtype_stats_alloc Unexecuted instantiation: if_netlink.c:mtype_stats_alloc Unexecuted instantiation: interface.c:mtype_stats_alloc Unexecuted instantiation: ioctl.c:mtype_stats_alloc Unexecuted instantiation: ipforward_proc.c:mtype_stats_alloc Unexecuted instantiation: kernel_netlink.c:mtype_stats_alloc Unexecuted instantiation: label_manager.c:mtype_stats_alloc Unexecuted instantiation: main.c:mtype_stats_alloc Unexecuted instantiation: netconf_netlink.c:mtype_stats_alloc Unexecuted instantiation: redistribute.c:mtype_stats_alloc Unexecuted instantiation: router-id.c:mtype_stats_alloc Unexecuted instantiation: rt_netlink.c:mtype_stats_alloc Unexecuted instantiation: rtadv.c:mtype_stats_alloc Unexecuted instantiation: rtread_netlink.c:mtype_stats_alloc Unexecuted instantiation: rule_netlink.c:mtype_stats_alloc Unexecuted instantiation: table_manager.c:mtype_stats_alloc Unexecuted instantiation: tc_netlink.c:mtype_stats_alloc Unexecuted instantiation: zapi_msg.c:mtype_stats_alloc Unexecuted instantiation: zebra_affinitymap.c:mtype_stats_alloc Unexecuted instantiation: zebra_dplane.c:mtype_stats_alloc Unexecuted instantiation: zebra_errors.c:mtype_stats_alloc Unexecuted instantiation: zebra_gr.c:mtype_stats_alloc Unexecuted instantiation: zebra_l2.c:mtype_stats_alloc Unexecuted instantiation: zebra_l2_bridge_if.c:mtype_stats_alloc Unexecuted instantiation: zebra_evpn.c:mtype_stats_alloc Unexecuted instantiation: zebra_evpn_mac.c:mtype_stats_alloc Unexecuted instantiation: zebra_evpn_neigh.c:mtype_stats_alloc Unexecuted instantiation: zebra_mlag.c:mtype_stats_alloc Unexecuted instantiation: zebra_mlag_vty.c:mtype_stats_alloc Unexecuted instantiation: zebra_mpls.c:mtype_stats_alloc Unexecuted instantiation: zebra_mpls_netlink.c:mtype_stats_alloc Unexecuted instantiation: zebra_mpls_null.c:mtype_stats_alloc Unexecuted instantiation: zebra_mpls_vty.c:mtype_stats_alloc Unexecuted instantiation: zebra_srv6.c:mtype_stats_alloc Unexecuted instantiation: zebra_srv6_vty.c:mtype_stats_alloc Unexecuted instantiation: zebra_mroute.c:mtype_stats_alloc Unexecuted instantiation: zebra_nb.c:mtype_stats_alloc Unexecuted instantiation: zebra_nb_config.c:mtype_stats_alloc Unexecuted instantiation: zebra_nb_rpcs.c:mtype_stats_alloc Unexecuted instantiation: zebra_nb_state.c:mtype_stats_alloc Unexecuted instantiation: zebra_netns_id.c:mtype_stats_alloc Unexecuted instantiation: zebra_netns_notify.c:mtype_stats_alloc Unexecuted instantiation: zebra_nhg.c:mtype_stats_alloc Unexecuted instantiation: zebra_ns.c:mtype_stats_alloc Unexecuted instantiation: zebra_opaque.c:mtype_stats_alloc Unexecuted instantiation: zebra_pbr.c:mtype_stats_alloc Unexecuted instantiation: zebra_ptm.c:mtype_stats_alloc Unexecuted instantiation: zebra_ptm_redistribute.c:mtype_stats_alloc Unexecuted instantiation: zebra_pw.c:mtype_stats_alloc Unexecuted instantiation: zebra_rib.c:mtype_stats_alloc Unexecuted instantiation: zebra_router.c:mtype_stats_alloc Unexecuted instantiation: zebra_rnh.c:mtype_stats_alloc Unexecuted instantiation: zebra_routemap.c:mtype_stats_alloc Unexecuted instantiation: zebra_routemap_nb.c:mtype_stats_alloc Unexecuted instantiation: zebra_routemap_nb_config.c:mtype_stats_alloc Unexecuted instantiation: zebra_script.c:mtype_stats_alloc Unexecuted instantiation: zebra_srte.c:mtype_stats_alloc Unexecuted instantiation: zebra_tc.c:mtype_stats_alloc Unexecuted instantiation: zebra_vrf.c:mtype_stats_alloc Unexecuted instantiation: zebra_vty.c:mtype_stats_alloc Unexecuted instantiation: zebra_vxlan.c:mtype_stats_alloc Unexecuted instantiation: zebra_vxlan_if.c:mtype_stats_alloc Unexecuted instantiation: zebra_evpn_mh.c:mtype_stats_alloc Unexecuted instantiation: zebra_neigh.c:mtype_stats_alloc Unexecuted instantiation: zserv.c:mtype_stats_alloc Unexecuted instantiation: debug_nl.c:mtype_stats_alloc Unexecuted instantiation: frr-zebra.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-zebra-route-map.yang.c:mtype_stats_alloc Unexecuted instantiation: bgp_main.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-types.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-common-structure.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-common.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-neighbor.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-peer-group.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-bmp.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-rpki.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-filter.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-bgp-route-map.yang.c:mtype_stats_alloc Unexecuted instantiation: bgp_attr.c:mtype_stats_alloc Unexecuted instantiation: bgp_attr_evpn.c:mtype_stats_alloc Unexecuted instantiation: bgp_clist.c:mtype_stats_alloc Unexecuted instantiation: bgp_community.c:mtype_stats_alloc Unexecuted instantiation: bgp_community_alias.c:mtype_stats_alloc Unexecuted instantiation: bgp_debug.c:mtype_stats_alloc Unexecuted instantiation: bgp_dump.c:mtype_stats_alloc Unexecuted instantiation: bgp_ecommunity.c:mtype_stats_alloc Unexecuted instantiation: bgp_errors.c:mtype_stats_alloc Unexecuted instantiation: bgp_evpn.c:mtype_stats_alloc Unexecuted instantiation: bgp_evpn_mh.c:mtype_stats_alloc Unexecuted instantiation: bgp_evpn_vty.c:mtype_stats_alloc Unexecuted instantiation: bgp_filter.c:mtype_stats_alloc Unexecuted instantiation: bgp_flowspec_vty.c:mtype_stats_alloc Unexecuted instantiation: bgp_fsm.c:mtype_stats_alloc Unexecuted instantiation: bgp_io.c:mtype_stats_alloc Unexecuted instantiation: bgp_keepalives.c:mtype_stats_alloc Unexecuted instantiation: bgp_labelpool.c:mtype_stats_alloc Unexecuted instantiation: bgp_lcommunity.c:mtype_stats_alloc Unexecuted instantiation: bgp_mac.c:mtype_stats_alloc Unexecuted instantiation: bgp_memory.c:mtype_stats_alloc Unexecuted instantiation: bgp_mpath.c:mtype_stats_alloc Unexecuted instantiation: bgp_mplsvpn.c:mtype_stats_alloc Unexecuted instantiation: bgp_network.c:mtype_stats_alloc Unexecuted instantiation: bgp_nexthop.c:mtype_stats_alloc Unexecuted instantiation: bgp_nht.c:mtype_stats_alloc Unexecuted instantiation: bgp_packet.c:mtype_stats_alloc Unexecuted instantiation: bgp_pbr.c:mtype_stats_alloc Unexecuted instantiation: bgp_rd.c:mtype_stats_alloc Unexecuted instantiation: bgp_regex.c:mtype_stats_alloc Unexecuted instantiation: bgp_route.c:mtype_stats_alloc Unexecuted instantiation: bgp_routemap.c:mtype_stats_alloc Unexecuted instantiation: bgp_routemap_nb.c:mtype_stats_alloc Unexecuted instantiation: bgp_routemap_nb_config.c:mtype_stats_alloc Unexecuted instantiation: bgp_table.c:mtype_stats_alloc Unexecuted instantiation: bgp_updgrp.c:mtype_stats_alloc Unexecuted instantiation: bgp_updgrp_adv.c:mtype_stats_alloc Unexecuted instantiation: bgp_updgrp_packet.c:mtype_stats_alloc Unexecuted instantiation: bgp_vpn.c:mtype_stats_alloc Unexecuted instantiation: bgp_vty.c:mtype_stats_alloc Unexecuted instantiation: bgp_zebra.c:mtype_stats_alloc Unexecuted instantiation: bgpd.c:mtype_stats_alloc Unexecuted instantiation: bgp_rfapi_cfg.c:mtype_stats_alloc Unexecuted instantiation: rfapi_import.c:mtype_stats_alloc Unexecuted instantiation: rfapi.c:mtype_stats_alloc Unexecuted instantiation: rfapi_ap.c:mtype_stats_alloc Unexecuted instantiation: rfapi_encap_tlv.c:mtype_stats_alloc Unexecuted instantiation: rfapi_nve_addr.c:mtype_stats_alloc Unexecuted instantiation: rfapi_monitor.c:mtype_stats_alloc Unexecuted instantiation: rfapi_rib.c:mtype_stats_alloc Unexecuted instantiation: rfapi_vty.c:mtype_stats_alloc Unexecuted instantiation: vnc_debug.c:mtype_stats_alloc Unexecuted instantiation: vnc_export_bgp.c:mtype_stats_alloc Unexecuted instantiation: vnc_export_table.c:mtype_stats_alloc Unexecuted instantiation: vnc_import_bgp.c:mtype_stats_alloc Unexecuted instantiation: vnc_zebra.c:mtype_stats_alloc Unexecuted instantiation: bgp_addpath.c:mtype_stats_alloc Unexecuted instantiation: bgp_advertise.c:mtype_stats_alloc Unexecuted instantiation: bgp_aspath.c:mtype_stats_alloc Unexecuted instantiation: bgp_bfd.c:mtype_stats_alloc Unexecuted instantiation: bgp_conditional_adv.c:mtype_stats_alloc Unexecuted instantiation: bgp_damp.c:mtype_stats_alloc Unexecuted instantiation: bgp_encap_tlv.c:mtype_stats_alloc Unexecuted instantiation: bgp_flowspec.c:mtype_stats_alloc Unexecuted instantiation: bgp_flowspec_util.c:mtype_stats_alloc Unexecuted instantiation: bgp_label.c:mtype_stats_alloc Unexecuted instantiation: bgp_open.c:mtype_stats_alloc Unexecuted instantiation: rfp_example.c:mtype_stats_alloc Unexecuted instantiation: pim_addr.c:mtype_stats_alloc Unexecuted instantiation: pim_assert.c:mtype_stats_alloc Unexecuted instantiation: pim_bfd.c:mtype_stats_alloc Unexecuted instantiation: pim_bsm.c:mtype_stats_alloc Unexecuted instantiation: pim_cmd_common.c:mtype_stats_alloc Unexecuted instantiation: pim_errors.c:mtype_stats_alloc Unexecuted instantiation: pim_hello.c:mtype_stats_alloc Unexecuted instantiation: pim_iface.c:mtype_stats_alloc Unexecuted instantiation: pim_ifchannel.c:mtype_stats_alloc Unexecuted instantiation: pim_instance.c:mtype_stats_alloc Unexecuted instantiation: pim_join.c:mtype_stats_alloc Unexecuted instantiation: pim_jp_agg.c:mtype_stats_alloc Unexecuted instantiation: pim_macro.c:mtype_stats_alloc Unexecuted instantiation: pim_memory.c:mtype_stats_alloc Unexecuted instantiation: pim_mroute.c:mtype_stats_alloc Unexecuted instantiation: pim_msg.c:mtype_stats_alloc Unexecuted instantiation: pim_nb.c:mtype_stats_alloc Unexecuted instantiation: pim_nb_config.c:mtype_stats_alloc Unexecuted instantiation: pim_neighbor.c:mtype_stats_alloc Unexecuted instantiation: pim_nht.c:mtype_stats_alloc Unexecuted instantiation: pim_oil.c:mtype_stats_alloc Unexecuted instantiation: pim_pim.c:mtype_stats_alloc Unexecuted instantiation: pim_routemap.c:mtype_stats_alloc Unexecuted instantiation: pim_rp.c:mtype_stats_alloc Unexecuted instantiation: pim_rpf.c:mtype_stats_alloc Unexecuted instantiation: pim_sock.c:mtype_stats_alloc Unexecuted instantiation: pim_ssm.c:mtype_stats_alloc Unexecuted instantiation: pim_ssmpingd.c:mtype_stats_alloc Unexecuted instantiation: pim_static.c:mtype_stats_alloc Unexecuted instantiation: pim_str.c:mtype_stats_alloc Unexecuted instantiation: pim_tib.c:mtype_stats_alloc Unexecuted instantiation: pim_time.c:mtype_stats_alloc Unexecuted instantiation: pim_tlv.c:mtype_stats_alloc Unexecuted instantiation: pim_upstream.c:mtype_stats_alloc Unexecuted instantiation: pim_util.c:mtype_stats_alloc Unexecuted instantiation: pim_vty.c:mtype_stats_alloc Unexecuted instantiation: pim_zebra.c:mtype_stats_alloc Unexecuted instantiation: pim_zlookup.c:mtype_stats_alloc Unexecuted instantiation: pim_vxlan.c:mtype_stats_alloc Unexecuted instantiation: pim_register.c:mtype_stats_alloc Unexecuted instantiation: pimd.c:mtype_stats_alloc Unexecuted instantiation: pim_cmd.c:mtype_stats_alloc Unexecuted instantiation: pim_igmp.c:mtype_stats_alloc Unexecuted instantiation: pim_igmp_mtrace.c:mtype_stats_alloc Unexecuted instantiation: pim_igmpv2.c:mtype_stats_alloc Unexecuted instantiation: pim_igmpv3.c:mtype_stats_alloc Unexecuted instantiation: pim_main.c:mtype_stats_alloc Unexecuted instantiation: pim_mlag.c:mtype_stats_alloc Unexecuted instantiation: pim_msdp.c:mtype_stats_alloc Unexecuted instantiation: pim_msdp_packet.c:mtype_stats_alloc Unexecuted instantiation: pim_msdp_socket.c:mtype_stats_alloc Unexecuted instantiation: pim_signals.c:mtype_stats_alloc Unexecuted instantiation: pim_zpthread.c:mtype_stats_alloc Unexecuted instantiation: frr-pim.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-pim-rp.yang.c:mtype_stats_alloc Unexecuted instantiation: frr-gmp.yang.c:mtype_stats_alloc |
179 | | |
180 | | /* NB: calls are ordered by memgroup; and there is a call with mt == NULL for |
181 | | * each memgroup (so that a header can be printed, and empty memgroups show) |
182 | | * |
183 | | * return value: 0: continue, !0: abort walk. qmem_walk will return the |
184 | | * last value from qmem_walk_fn. */ |
185 | | typedef int qmem_walk_fn(void *arg, struct memgroup *mg, struct memtype *mt); |
186 | | extern int qmem_walk(qmem_walk_fn *func, void *arg); |
187 | | extern int log_memstats(FILE *fp, const char *); |
188 | | #define log_memstats_stderr(prefix) log_memstats(stderr, prefix) |
189 | | |
190 | | extern __attribute__((__noreturn__)) void memory_oom(size_t size, |
191 | | const char *name); |
192 | | |
193 | | #ifdef __cplusplus |
194 | | } |
195 | | #endif |
196 | | |
197 | | #endif /* _QUAGGA_MEMORY_H */ |