blob: e5b35465ecb2c4aae7b0b40f4ec11f88f7ff0e4e [file] [log] [blame]
paul2fd2fd52005-04-15 11:47:15 +00001/*
2 * Memory type definitions. This file is parsed by memtypes.awk to extract
3 * MTYPE_ and memory_list_.. information in order to autogenerate
4 * memtypes.h.
5 *
pauldc830cb2005-04-16 15:51:05 +00006 * The script is sensitive to the format (though not whitespace), see
7 * the top of memtypes.awk for more details.
paul2fd2fd52005-04-15 11:47:15 +00008 */
9
10#include "zebra.h"
11#include "memory.h"
12
13struct memory_list memory_list_lib[] =
14{
15 { MTYPE_TMP, "Temporary memory" },
16 { MTYPE_STRVEC, "String vector" },
17 { MTYPE_VECTOR, "Vector" },
18 { MTYPE_VECTOR_INDEX, "Vector index" },
19 { MTYPE_LINK_LIST, "Link List" },
20 { MTYPE_LINK_NODE, "Link Node" },
21 { MTYPE_THREAD, "Thread" },
22 { MTYPE_THREAD_MASTER, "Thread master" },
23 { MTYPE_THREAD_STATS, "Thread stats" },
paul2fd2fd52005-04-15 11:47:15 +000024 { MTYPE_VTY, "VTY" },
25 { MTYPE_VTY_OUT_BUF, "VTY output buffer" },
26 { MTYPE_VTY_HIST, "VTY history" },
27 { MTYPE_IF, "Interface" },
28 { MTYPE_CONNECTED, "Connected" },
paul9c4f1c62005-11-03 11:04:07 +000029 { MTYPE_CONNECTED_LABEL, "Connected interface label" },
paul2fd2fd52005-04-15 11:47:15 +000030 { MTYPE_BUFFER, "Buffer" },
31 { MTYPE_BUFFER_DATA, "Buffer data" },
32 { MTYPE_STREAM, "Stream" },
33 { MTYPE_STREAM_DATA, "Stream data" },
34 { MTYPE_STREAM_FIFO, "Stream FIFO" },
35 { MTYPE_PREFIX, "Prefix" },
36 { MTYPE_PREFIX_IPV4, "Prefix IPv4" },
37 { MTYPE_PREFIX_IPV6, "Prefix IPv6" },
38 { MTYPE_HASH, "Hash" },
39 { MTYPE_HASH_BACKET, "Hash Bucket" },
40 { MTYPE_HASH_INDEX, "Hash Index" },
41 { MTYPE_ROUTE_TABLE, "Route table" },
42 { MTYPE_ROUTE_NODE, "Route node" },
43 { MTYPE_DISTRIBUTE, "Distribute list" },
44 { MTYPE_DISTRIBUTE_IFNAME, "Dist-list ifname" },
45 { MTYPE_ACCESS_LIST, "Access List" },
46 { MTYPE_ACCESS_LIST_STR, "Access List Str" },
47 { MTYPE_ACCESS_FILTER, "Access Filter" },
48 { MTYPE_PREFIX_LIST, "Prefix List" },
paul2c1de2a2005-04-25 14:02:44 +000049 { MTYPE_PREFIX_LIST_ENTRY, "Prefix List Entry" },
50 { MTYPE_PREFIX_LIST_STR, "Prefix List Str" },
paul2fd2fd52005-04-15 11:47:15 +000051 { MTYPE_ROUTE_MAP, "Route map" },
52 { MTYPE_ROUTE_MAP_NAME, "Route map name" },
53 { MTYPE_ROUTE_MAP_INDEX, "Route map index" },
54 { MTYPE_ROUTE_MAP_RULE, "Route map rule" },
55 { MTYPE_ROUTE_MAP_RULE_STR, "Route map rule str" },
56 { MTYPE_ROUTE_MAP_COMPILED, "Route map compiled" },
Christian Frankecd40b322013-09-30 12:27:51 +000057 { MTYPE_CMD_TOKENS, "Command desc" },
paul2fd2fd52005-04-15 11:47:15 +000058 { MTYPE_KEY, "Key" },
59 { MTYPE_KEYCHAIN, "Key chain" },
60 { MTYPE_IF_RMAP, "Interface route map" },
paul02416842005-10-26 05:05:16 +000061 { MTYPE_IF_RMAP_NAME, "I.f. route map name", },
paul2fd2fd52005-04-15 11:47:15 +000062 { MTYPE_SOCKUNION, "Socket union" },
63 { MTYPE_PRIVS, "Privilege information" },
64 { MTYPE_ZLOG, "Logging" },
65 { MTYPE_ZCLIENT, "Zclient" },
paul354d1192005-04-25 16:26:42 +000066 { MTYPE_WORK_QUEUE, "Work queue" },
67 { MTYPE_WORK_QUEUE_ITEM, "Work queue item" },
68 { MTYPE_WORK_QUEUE_NAME, "Work queue name string" },
paul02416842005-10-26 05:05:16 +000069 { MTYPE_PQUEUE, "Priority queue" },
70 { MTYPE_PQUEUE_DATA, "Priority queue data" },
71 { MTYPE_HOST, "Host config" },
Feng Lu41f44a22015-05-22 11:39:56 +020072 { MTYPE_VRF, "VRF" },
73 { MTYPE_VRF_NAME, "VRF name" },
Feng Luc99f3482014-10-16 09:52:36 +080074 { MTYPE_VRF_BITMAP, "VRF bit-map" },
Olivier Dugeonae51c9d2016-04-19 16:21:46 +020075 { MTYPE_IF_LINK_PARAMS, "Informational Link Parameters" },
paul2fd2fd52005-04-15 11:47:15 +000076 { -1, NULL },
77};
78
79struct memory_list memory_list_zebra[] =
80{
81 { MTYPE_RTADV_PREFIX, "Router Advertisement Prefix" },
Feng Lu41f44a22015-05-22 11:39:56 +020082 { MTYPE_ZEBRA_VRF, "ZEBRA VRF" },
paul2fd2fd52005-04-15 11:47:15 +000083 { MTYPE_NEXTHOP, "Nexthop" },
84 { MTYPE_RIB, "RIB" },
paul354d1192005-04-25 16:26:42 +000085 { MTYPE_RIB_QUEUE, "RIB process work queue" },
Donald Sharpd4c27d62015-11-04 13:26:35 -050086 { MTYPE_STATIC_ROUTE, "Static route" },
Avneesh Sachdev9fd92e32012-11-13 22:48:53 +000087 { MTYPE_RIB_DEST, "RIB destination" },
Avneesh Sachdev1b5ed1b2012-11-13 22:48:54 +000088 { MTYPE_RIB_TABLE_INFO, "RIB table info" },
Feng Lu758fb8f2014-07-03 18:23:09 +080089 { MTYPE_NETLINK_NAME, "Netlink name" },
Paul Jakma6dbb58c2017-02-08 15:05:06 +000090 { MTYPE_NETLINK_RCVBUF, "Netlink receive buffer" },
Pradosh Mohapatra60cc9592015-11-09 20:21:41 -050091 { MTYPE_RNH, "Nexthop tracking object" },
paul2fd2fd52005-04-15 11:47:15 +000092 { -1, NULL },
93};
94
95struct memory_list memory_list_bgp[] =
96{
97 { MTYPE_BGP, "BGP instance" },
Stephen Hemmingerd023aec2009-07-21 16:27:21 -070098 { MTYPE_BGP_LISTENER, "BGP listen socket details" },
paul2fd2fd52005-04-15 11:47:15 +000099 { MTYPE_BGP_PEER, "BGP peer" },
paule387e662005-05-19 02:13:28 +0000100 { MTYPE_BGP_PEER_HOST, "BGP peer hostname" },
paul2fd2fd52005-04-15 11:47:15 +0000101 { MTYPE_PEER_GROUP, "Peer group" },
102 { MTYPE_PEER_DESC, "Peer description" },
Paul Jakma0df7c912008-07-21 21:02:49 +0000103 { MTYPE_PEER_PASSWORD, "Peer password string" },
paul2fd2fd52005-04-15 11:47:15 +0000104 { MTYPE_ATTR, "BGP attribute" },
Paul Jakmafb982c22007-05-04 20:15:47 +0000105 { MTYPE_ATTR_EXTRA, "BGP extra attributes" },
paul2fd2fd52005-04-15 11:47:15 +0000106 { MTYPE_AS_PATH, "BGP aspath" },
107 { MTYPE_AS_SEG, "BGP aspath seg" },
paul75b2dd02005-09-21 14:06:35 +0000108 { MTYPE_AS_SEG_DATA, "BGP aspath segment data" },
paul2fd2fd52005-04-15 11:47:15 +0000109 { MTYPE_AS_STR, "BGP aspath str" },
110 { 0, NULL },
111 { MTYPE_BGP_TABLE, "BGP table" },
112 { MTYPE_BGP_NODE, "BGP node" },
113 { MTYPE_BGP_ROUTE, "BGP route" },
Paul Jakmafb982c22007-05-04 20:15:47 +0000114 { MTYPE_BGP_ROUTE_EXTRA, "BGP ancillary route info" },
Chris Caputo6c88b442010-07-27 16:28:55 +0000115 { MTYPE_BGP_CONN, "BGP connected" },
paul2fd2fd52005-04-15 11:47:15 +0000116 { MTYPE_BGP_STATIC, "BGP static" },
117 { MTYPE_BGP_ADVERTISE_ATTR, "BGP adv attr" },
118 { MTYPE_BGP_ADVERTISE, "BGP adv" },
Paul Jakmab51f1262006-03-30 14:09:38 +0000119 { MTYPE_BGP_SYNCHRONISE, "BGP synchronise" },
paul2fd2fd52005-04-15 11:47:15 +0000120 { MTYPE_BGP_ADJ_IN, "BGP adj in" },
121 { MTYPE_BGP_ADJ_OUT, "BGP adj out" },
Josh Baileyde8d5df2011-07-20 20:46:01 -0700122 { MTYPE_BGP_MPATH_INFO, "BGP multipath info" },
paul2fd2fd52005-04-15 11:47:15 +0000123 { 0, NULL },
124 { MTYPE_AS_LIST, "BGP AS list" },
125 { MTYPE_AS_FILTER, "BGP AS filter" },
126 { MTYPE_AS_FILTER_STR, "BGP AS filter str" },
127 { 0, NULL },
128 { MTYPE_COMMUNITY, "community" },
129 { MTYPE_COMMUNITY_VAL, "community val" },
130 { MTYPE_COMMUNITY_STR, "community str" },
131 { 0, NULL },
132 { MTYPE_ECOMMUNITY, "extcommunity" },
133 { MTYPE_ECOMMUNITY_VAL, "extcommunity val" },
134 { MTYPE_ECOMMUNITY_STR, "extcommunity str" },
135 { 0, NULL },
136 { MTYPE_COMMUNITY_LIST, "community-list" },
137 { MTYPE_COMMUNITY_LIST_NAME, "community-list name" },
138 { MTYPE_COMMUNITY_LIST_ENTRY, "community-list entry" },
139 { MTYPE_COMMUNITY_LIST_CONFIG, "community-list config" },
140 { MTYPE_COMMUNITY_LIST_HANDLER, "community-list handler" },
141 { 0, NULL },
142 { MTYPE_CLUSTER, "Cluster list" },
143 { MTYPE_CLUSTER_VAL, "Cluster list val" },
144 { 0, NULL },
paul200df112005-06-01 11:17:05 +0000145 { MTYPE_BGP_PROCESS_QUEUE, "BGP Process queue" },
146 { MTYPE_BGP_CLEAR_NODE_QUEUE, "BGP node clear queue" },
147 { 0, NULL },
paul2fd2fd52005-04-15 11:47:15 +0000148 { MTYPE_TRANSIT, "BGP transit attr" },
149 { MTYPE_TRANSIT_VAL, "BGP transit val" },
150 { 0, NULL },
151 { MTYPE_BGP_DISTANCE, "BGP distance" },
152 { MTYPE_BGP_NEXTHOP_CACHE, "BGP nexthop" },
153 { MTYPE_BGP_CONFED_LIST, "BGP confed list" },
154 { MTYPE_PEER_UPDATE_SOURCE, "BGP peer update interface" },
155 { MTYPE_BGP_DAMP_INFO, "Dampening info" },
156 { MTYPE_BGP_DAMP_ARRAY, "BGP Dampening array" },
157 { MTYPE_BGP_REGEXP, "BGP regexp" },
158 { MTYPE_BGP_AGGREGATE, "BGP aggregate" },
Jorge Boncompte [DTI2]10f9bf32012-05-07 16:52:52 +0000159 { MTYPE_BGP_ADDR, "BGP own address" },
Lou Bergerc3741782016-01-12 13:42:01 -0500160 { MTYPE_ENCAP_TLV, "ENCAP TLV", },
Job Snijders3334bab2017-01-20 14:47:12 +0000161 { MTYPE_LCOMMUNITY, "Large Community", },
162 { MTYPE_LCOMMUNITY_STR, "Large Community str", },
163 { MTYPE_LCOMMUNITY_VAL, "Large Community val", },
paul2fd2fd52005-04-15 11:47:15 +0000164 { -1, NULL }
165};
166
167struct memory_list memory_list_rip[] =
168{
169 { MTYPE_RIP, "RIP structure" },
170 { MTYPE_RIP_INFO, "RIP route info" },
171 { MTYPE_RIP_INTERFACE, "RIP interface" },
172 { MTYPE_RIP_PEER, "RIP peer" },
173 { MTYPE_RIP_OFFSET_LIST, "RIP offset list" },
174 { MTYPE_RIP_DISTANCE, "RIP distance" },
175 { -1, NULL }
176};
177
178struct memory_list memory_list_ripng[] =
179{
180 { MTYPE_RIPNG, "RIPng structure" },
181 { MTYPE_RIPNG_ROUTE, "RIPng route info" },
182 { MTYPE_RIPNG_AGGREGATE, "RIPng aggregate" },
183 { MTYPE_RIPNG_PEER, "RIPng peer" },
184 { MTYPE_RIPNG_OFFSET_LIST, "RIPng offset lst" },
185 { MTYPE_RIPNG_RTE_DATA, "RIPng rte data" },
186 { -1, NULL }
187};
188
Paul Jakma57345092011-12-25 17:52:09 +0100189struct memory_list memory_list_babel[] =
190{
191 { MTYPE_BABEL, "Babel structure" },
192 { MTYPE_BABEL_IF, "Babel interface" },
193 { -1, NULL }
194};
195
paul2fd2fd52005-04-15 11:47:15 +0000196struct memory_list memory_list_ospf[] =
197{
198 { MTYPE_OSPF_TOP, "OSPF top" },
199 { MTYPE_OSPF_AREA, "OSPF area" },
200 { MTYPE_OSPF_AREA_RANGE, "OSPF area range" },
201 { MTYPE_OSPF_NETWORK, "OSPF network" },
202 { MTYPE_OSPF_NEIGHBOR_STATIC,"OSPF static nbr" },
203 { MTYPE_OSPF_IF, "OSPF interface" },
204 { MTYPE_OSPF_NEIGHBOR, "OSPF neighbor" },
205 { MTYPE_OSPF_ROUTE, "OSPF route" },
206 { MTYPE_OSPF_TMP, "OSPF tmp mem" },
207 { MTYPE_OSPF_LSA, "OSPF LSA" },
208 { MTYPE_OSPF_LSA_DATA, "OSPF LSA data" },
209 { MTYPE_OSPF_LSDB, "OSPF LSDB" },
210 { MTYPE_OSPF_PACKET, "OSPF packet" },
211 { MTYPE_OSPF_FIFO, "OSPF FIFO queue" },
212 { MTYPE_OSPF_VERTEX, "OSPF vertex" },
pauleb3da6d2005-10-18 04:20:33 +0000213 { MTYPE_OSPF_VERTEX_PARENT, "OSPF vertex parent", },
paul2fd2fd52005-04-15 11:47:15 +0000214 { MTYPE_OSPF_NEXTHOP, "OSPF nexthop" },
215 { MTYPE_OSPF_PATH, "OSPF path" },
216 { MTYPE_OSPF_VL_DATA, "OSPF VL data" },
217 { MTYPE_OSPF_CRYPT_KEY, "OSPF crypt key" },
218 { MTYPE_OSPF_EXTERNAL_INFO, "OSPF ext. info" },
219 { MTYPE_OSPF_DISTANCE, "OSPF distance" },
220 { MTYPE_OSPF_IF_INFO, "OSPF if info" },
221 { MTYPE_OSPF_IF_PARAMS, "OSPF if params" },
222 { MTYPE_OSPF_MESSAGE, "OSPF message" },
Olivier Dugeonae51c9d2016-04-19 16:21:46 +0200223 { MTYPE_OSPF_MPLS_TE, "OSPF MPLS parameters" },
224 { MTYPE_OSPF_PCE_PARAMS, "OSPF PCE parameters" },
paul2fd2fd52005-04-15 11:47:15 +0000225 { -1, NULL },
226};
227
228struct memory_list memory_list_ospf6[] =
229{
230 { MTYPE_OSPF6_TOP, "OSPF6 top" },
231 { MTYPE_OSPF6_AREA, "OSPF6 area" },
232 { MTYPE_OSPF6_IF, "OSPF6 interface" },
233 { MTYPE_OSPF6_NEIGHBOR, "OSPF6 neighbor" },
234 { MTYPE_OSPF6_ROUTE, "OSPF6 route" },
235 { MTYPE_OSPF6_PREFIX, "OSPF6 prefix" },
236 { MTYPE_OSPF6_MESSAGE, "OSPF6 message" },
237 { MTYPE_OSPF6_LSA, "OSPF6 LSA" },
238 { MTYPE_OSPF6_LSA_SUMMARY, "OSPF6 LSA summary" },
239 { MTYPE_OSPF6_LSDB, "OSPF6 LSA database" },
240 { MTYPE_OSPF6_VERTEX, "OSPF6 vertex" },
241 { MTYPE_OSPF6_SPFTREE, "OSPF6 SPF tree" },
242 { MTYPE_OSPF6_NEXTHOP, "OSPF6 nexthop" },
243 { MTYPE_OSPF6_EXTERNAL_INFO,"OSPF6 ext. info" },
244 { MTYPE_OSPF6_OTHER, "OSPF6 other" },
Roman Hoog Antinkd8f7f862014-03-05 09:13:43 +0100245 { MTYPE_OSPF6_DISTANCE, "OSPF6 distance" },
paul2fd2fd52005-04-15 11:47:15 +0000246 { -1, NULL },
247};
248
249struct memory_list memory_list_isis[] =
250{
251 { MTYPE_ISIS, "ISIS" },
252 { MTYPE_ISIS_TMP, "ISIS TMP" },
253 { MTYPE_ISIS_CIRCUIT, "ISIS circuit" },
254 { MTYPE_ISIS_LSP, "ISIS LSP" },
255 { MTYPE_ISIS_ADJACENCY, "ISIS adjacency" },
256 { MTYPE_ISIS_AREA, "ISIS area" },
257 { MTYPE_ISIS_AREA_ADDR, "ISIS area address" },
258 { MTYPE_ISIS_TLV, "ISIS TLV" },
259 { MTYPE_ISIS_DYNHN, "ISIS dyn hostname" },
260 { MTYPE_ISIS_SPFTREE, "ISIS SPFtree" },
261 { MTYPE_ISIS_VERTEX, "ISIS vertex" },
262 { MTYPE_ISIS_ROUTE_INFO, "ISIS route info" },
263 { MTYPE_ISIS_NEXTHOP, "ISIS nexthop" },
264 { MTYPE_ISIS_NEXTHOP6, "ISIS nexthop6" },
Josh Bailey3f045a02012-03-24 08:35:20 -0700265 { MTYPE_ISIS_DICT, "ISIS dictionary" },
266 { MTYPE_ISIS_DICT_NODE, "ISIS dictionary node" },
Olivier Dugeonae51c9d2016-04-19 16:21:46 +0200267 { MTYPE_ISIS_MPLS_TE, "ISIS MPLS_TE parameters" },
paul2fd2fd52005-04-15 11:47:15 +0000268 { -1, NULL },
269};
270
Everton Marques871dbcf2009-08-11 15:43:05 -0300271struct memory_list memory_list_pim[] =
272{
273 { MTYPE_PIM_CHANNEL_OIL, "PIM SSM (S,G) channel OIL" },
274 { MTYPE_PIM_INTERFACE, "PIM interface" },
275 { MTYPE_PIM_IGMP_JOIN, "PIM interface IGMP static join" },
276 { MTYPE_PIM_IGMP_SOCKET, "PIM interface IGMP socket" },
277 { MTYPE_PIM_IGMP_GROUP, "PIM interface IGMP group" },
278 { MTYPE_PIM_IGMP_GROUP_SOURCE, "PIM interface IGMP source" },
279 { MTYPE_PIM_NEIGHBOR, "PIM interface neighbor" },
280 { MTYPE_PIM_IFCHANNEL, "PIM interface (S,G) state" },
281 { MTYPE_PIM_UPSTREAM, "PIM upstream (S,G) state" },
Everton Marques824adbe2009-10-08 09:16:27 -0300282 { MTYPE_PIM_SSMPINGD, "PIM sspimgd socket" },
Jafar Al-Gharaibeh030674d2015-06-11 18:29:02 -0500283 { MTYPE_PIM_STATIC_ROUTE, "PIM Static Route" },
Everton Marques871dbcf2009-08-11 15:43:05 -0300284 { -1, NULL },
285};
286
Timo Teräsdafa05e2017-01-19 17:27:01 +0200287struct memory_list memory_list_nhrp[] =
288{
289 { MTYPE_NHRP_IF, "NHRP interface" },
290 { MTYPE_NHRP_VC, "NHRP virtual connection" },
291 { MTYPE_NHRP_PEER, "NHRP peer entry" },
292 { MTYPE_NHRP_CACHE, "NHRP cache entry" },
293 { MTYPE_NHRP_NHS, "NHRP next hop server" },
294 { MTYPE_NHRP_REGISTRATION, "NHRP registration entries" },
295 { MTYPE_NHRP_SHORTCUT, "NHRP shortcut" },
296 { MTYPE_NHRP_ROUTE, "NHRP routing entry" },
297 { -1, NULL }
298};
299
paul2fd2fd52005-04-15 11:47:15 +0000300struct memory_list memory_list_vtysh[] =
301{
302 { MTYPE_VTYSH_CONFIG, "Vtysh configuration", },
303 { MTYPE_VTYSH_CONFIG_LINE, "Vtysh configuration line" },
304 { -1, NULL },
305};
306
307struct mlist mlists[] __attribute__ ((unused)) = {
308 { memory_list_lib, "LIB" },
309 { memory_list_zebra, "ZEBRA" },
310 { memory_list_rip, "RIP" },
311 { memory_list_ripng, "RIPNG" },
312 { memory_list_ospf, "OSPF" },
313 { memory_list_ospf6, "OSPF6" },
314 { memory_list_isis, "ISIS" },
315 { memory_list_bgp, "BGP" },
Everton Marques871dbcf2009-08-11 15:43:05 -0300316 { memory_list_pim, "PIM" },
Timo Teräsdafa05e2017-01-19 17:27:01 +0200317 { memory_list_nhrp, "NHRP" },
paul2fd2fd52005-04-15 11:47:15 +0000318 { NULL, NULL},
319};