1/* 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 * 6 * The script is sensitive to the format (though not whitespace), see 7 * the top of memtypes.awk for more details. 8 */ 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" }, 24 { 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" }, 29 { MTYPE_CONNECTED_LABEL, "Connected interface label" }, 30 { 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" }, 49 { MTYPE_PREFIX_LIST_ENTRY, "Prefix List Entry" }, 50 { MTYPE_PREFIX_LIST_STR, "Prefix List Str" }, 51 { 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" }, 57 { MTYPE_CMD_TOKENS, "Command desc" }, 58 { MTYPE_KEY, "Key" }, 59 { MTYPE_KEYCHAIN, "Key chain" }, 60 { MTYPE_IF_RMAP, "Interface route map" }, 61 { MTYPE_IF_RMAP_NAME, "I.f. route map name", }, 62 { MTYPE_SOCKUNION, "Socket union" }, 63 { MTYPE_PRIVS, "Privilege information" }, 64 { MTYPE_ZLOG, "Logging" }, 65 { MTYPE_ZCLIENT, "Zclient" }, 66 { MTYPE_WORK_QUEUE, "Work queue" }, 67 { MTYPE_WORK_QUEUE_ITEM, "Work queue item" }, 68 { MTYPE_WORK_QUEUE_NAME, "Work queue name string" }, 69 { MTYPE_PQUEUE, "Priority queue" }, 70 { MTYPE_PQUEUE_DATA, "Priority queue data" }, 71 { MTYPE_HOST, "Host config" }, 72 { -1, NULL }, 73}; 74 75struct memory_list memory_list_zebra[] = 76{ 77 { MTYPE_RTADV_PREFIX, "Router Advertisement Prefix" }, 78 { MTYPE_VRF, "VRF" }, 79 { MTYPE_VRF_NAME, "VRF name" }, 80 { MTYPE_NEXTHOP, "Nexthop" }, 81 { MTYPE_RIB, "RIB" }, 82 { MTYPE_RIB_QUEUE, "RIB process work queue" }, 83 { MTYPE_STATIC_IPV4, "Static IPv4 route" }, 84 { MTYPE_STATIC_IPV6, "Static IPv6 route" }, 85 { MTYPE_RIB_DEST, "RIB destination" }, 86 { MTYPE_RIB_TABLE_INFO, "RIB table info" }, 87 { -1, NULL }, 88}; 89 90struct memory_list memory_list_bgp[] = 91{ 92 { MTYPE_BGP, "BGP instance" }, 93 { MTYPE_BGP_LISTENER, "BGP listen socket details" }, 94 { MTYPE_BGP_PEER, "BGP peer" }, 95 { MTYPE_BGP_PEER_HOST, "BGP peer hostname" }, 96 { MTYPE_PEER_GROUP, "Peer group" }, 97 { MTYPE_PEER_DESC, "Peer description" }, 98 { MTYPE_PEER_PASSWORD, "Peer password string" }, 99 { MTYPE_ATTR, "BGP attribute" }, 100 { MTYPE_ATTR_EXTRA, "BGP extra attributes" }, 101 { MTYPE_AS_PATH, "BGP aspath" }, 102 { MTYPE_AS_SEG, "BGP aspath seg" }, 103 { MTYPE_AS_SEG_DATA, "BGP aspath segment data" }, 104 { MTYPE_AS_STR, "BGP aspath str" }, 105 { 0, NULL }, 106 { MTYPE_BGP_TABLE, "BGP table" }, 107 { MTYPE_BGP_NODE, "BGP node" }, 108 { MTYPE_BGP_ROUTE, "BGP route" }, 109 { MTYPE_BGP_ROUTE_EXTRA, "BGP ancillary route info" }, 110 { MTYPE_BGP_CONN, "BGP connected" }, 111 { MTYPE_BGP_STATIC, "BGP static" }, 112 { MTYPE_BGP_ADVERTISE_ATTR, "BGP adv attr" }, 113 { MTYPE_BGP_ADVERTISE, "BGP adv" }, 114 { MTYPE_BGP_SYNCHRONISE, "BGP synchronise" }, 115 { MTYPE_BGP_ADJ_IN, "BGP adj in" }, 116 { MTYPE_BGP_ADJ_OUT, "BGP adj out" }, 117 { MTYPE_BGP_MPATH_INFO, "BGP multipath info" }, 118 { 0, NULL }, 119 { MTYPE_AS_LIST, "BGP AS list" }, 120 { MTYPE_AS_FILTER, "BGP AS filter" }, 121 { MTYPE_AS_FILTER_STR, "BGP AS filter str" }, 122 { 0, NULL }, 123 { MTYPE_COMMUNITY, "community" }, 124 { MTYPE_COMMUNITY_VAL, "community val" }, 125 { MTYPE_COMMUNITY_STR, "community str" }, 126 { 0, NULL }, 127 { MTYPE_ECOMMUNITY, "extcommunity" }, 128 { MTYPE_ECOMMUNITY_VAL, "extcommunity val" }, 129 { MTYPE_ECOMMUNITY_STR, "extcommunity str" }, 130 { 0, NULL }, 131 { MTYPE_COMMUNITY_LIST, "community-list" }, 132 { MTYPE_COMMUNITY_LIST_NAME, "community-list name" }, 133 { MTYPE_COMMUNITY_LIST_ENTRY, "community-list entry" }, 134 { MTYPE_COMMUNITY_LIST_CONFIG, "community-list config" }, 135 { MTYPE_COMMUNITY_LIST_HANDLER, "community-list handler" }, 136 { 0, NULL }, 137 { MTYPE_CLUSTER, "Cluster list" }, 138 { MTYPE_CLUSTER_VAL, "Cluster list val" }, 139 { 0, NULL }, 140 { MTYPE_BGP_PROCESS_QUEUE, "BGP Process queue" }, 141 { MTYPE_BGP_CLEAR_NODE_QUEUE, "BGP node clear queue" }, 142 { 0, NULL }, 143 { MTYPE_TRANSIT, "BGP transit attr" }, 144 { MTYPE_TRANSIT_VAL, "BGP transit val" }, 145 { 0, NULL }, 146 { MTYPE_BGP_DISTANCE, "BGP distance" }, 147 { MTYPE_BGP_NEXTHOP_CACHE, "BGP nexthop" }, 148 { MTYPE_BGP_CONFED_LIST, "BGP confed list" }, 149 { MTYPE_PEER_UPDATE_SOURCE, "BGP peer update interface" }, 150 { MTYPE_BGP_DAMP_INFO, "Dampening info" }, 151 { MTYPE_BGP_DAMP_ARRAY, "BGP Dampening array" }, 152 { MTYPE_BGP_REGEXP, "BGP regexp" }, 153 { MTYPE_BGP_AGGREGATE, "BGP aggregate" }, 154 { MTYPE_BGP_ADDR, "BGP own address" }, 155 { -1, NULL } 156}; 157 158struct memory_list memory_list_rip[] = 159{ 160 { MTYPE_RIP, "RIP structure" }, 161 { MTYPE_RIP_INFO, "RIP route info" }, 162 { MTYPE_RIP_INTERFACE, "RIP interface" }, 163 { MTYPE_RIP_PEER, "RIP peer" }, 164 { MTYPE_RIP_OFFSET_LIST, "RIP offset list" }, 165 { MTYPE_RIP_DISTANCE, "RIP distance" }, 166 { -1, NULL } 167}; 168 169struct memory_list memory_list_ripng[] = 170{ 171 { MTYPE_RIPNG, "RIPng structure" }, 172 { MTYPE_RIPNG_ROUTE, "RIPng route info" }, 173 { MTYPE_RIPNG_AGGREGATE, "RIPng aggregate" }, 174 { MTYPE_RIPNG_PEER, "RIPng peer" }, 175 { MTYPE_RIPNG_OFFSET_LIST, "RIPng offset lst" }, 176 { MTYPE_RIPNG_RTE_DATA, "RIPng rte data" }, 177 { -1, NULL } 178}; 179 180struct memory_list memory_list_babel[] = 181{ 182 { MTYPE_BABEL, "Babel structure" }, 183 { MTYPE_BABEL_IF, "Babel interface" }, 184 { -1, NULL } 185}; 186 187struct memory_list memory_list_ospf[] = 188{ 189 { MTYPE_OSPF_TOP, "OSPF top" }, 190 { MTYPE_OSPF_AREA, "OSPF area" }, 191 { MTYPE_OSPF_AREA_RANGE, "OSPF area range" }, 192 { MTYPE_OSPF_NETWORK, "OSPF network" }, 193 { MTYPE_OSPF_NEIGHBOR_STATIC,"OSPF static nbr" }, 194 { MTYPE_OSPF_IF, "OSPF interface" }, 195 { MTYPE_OSPF_NEIGHBOR, "OSPF neighbor" }, 196 { MTYPE_OSPF_ROUTE, "OSPF route" }, 197 { MTYPE_OSPF_TMP, "OSPF tmp mem" }, 198 { MTYPE_OSPF_LSA, "OSPF LSA" }, 199 { MTYPE_OSPF_LSA_DATA, "OSPF LSA data" }, 200 { MTYPE_OSPF_LSDB, "OSPF LSDB" }, 201 { MTYPE_OSPF_PACKET, "OSPF packet" }, 202 { MTYPE_OSPF_FIFO, "OSPF FIFO queue" }, 203 { MTYPE_OSPF_VERTEX, "OSPF vertex" }, 204 { MTYPE_OSPF_VERTEX_PARENT, "OSPF vertex parent", }, 205 { MTYPE_OSPF_NEXTHOP, "OSPF nexthop" }, 206 { MTYPE_OSPF_PATH, "OSPF path" }, 207 { MTYPE_OSPF_VL_DATA, "OSPF VL data" }, 208 { MTYPE_OSPF_CRYPT_KEY, "OSPF crypt key" }, 209 { MTYPE_OSPF_EXTERNAL_INFO, "OSPF ext. info" }, 210 { MTYPE_OSPF_DISTANCE, "OSPF distance" }, 211 { MTYPE_OSPF_IF_INFO, "OSPF if info" }, 212 { MTYPE_OSPF_IF_PARAMS, "OSPF if params" }, 213 { MTYPE_OSPF_MESSAGE, "OSPF message" }, 214 { -1, NULL }, 215}; 216 217struct memory_list memory_list_ospf6[] = 218{ 219 { MTYPE_OSPF6_TOP, "OSPF6 top" }, 220 { MTYPE_OSPF6_AREA, "OSPF6 area" }, 221 { MTYPE_OSPF6_IF, "OSPF6 interface" }, 222 { MTYPE_OSPF6_NEIGHBOR, "OSPF6 neighbor" }, 223 { MTYPE_OSPF6_ROUTE, "OSPF6 route" }, 224 { MTYPE_OSPF6_PREFIX, "OSPF6 prefix" }, 225 { MTYPE_OSPF6_MESSAGE, "OSPF6 message" }, 226 { MTYPE_OSPF6_LSA, "OSPF6 LSA" }, 227 { MTYPE_OSPF6_LSA_SUMMARY, "OSPF6 LSA summary" }, 228 { MTYPE_OSPF6_LSDB, "OSPF6 LSA database" }, 229 { MTYPE_OSPF6_VERTEX, "OSPF6 vertex" }, 230 { MTYPE_OSPF6_SPFTREE, "OSPF6 SPF tree" }, 231 { MTYPE_OSPF6_NEXTHOP, "OSPF6 nexthop" }, 232 { MTYPE_OSPF6_EXTERNAL_INFO,"OSPF6 ext. info" }, 233 { MTYPE_OSPF6_OTHER, "OSPF6 other" }, 234 { -1, NULL }, 235}; 236 237struct memory_list memory_list_isis[] = 238{ 239 { MTYPE_ISIS, "ISIS" }, 240 { MTYPE_ISIS_TMP, "ISIS TMP" }, 241 { MTYPE_ISIS_CIRCUIT, "ISIS circuit" }, 242 { MTYPE_ISIS_LSP, "ISIS LSP" }, 243 { MTYPE_ISIS_ADJACENCY, "ISIS adjacency" }, 244 { MTYPE_ISIS_AREA, "ISIS area" }, 245 { MTYPE_ISIS_AREA_ADDR, "ISIS area address" }, 246 { MTYPE_ISIS_TLV, "ISIS TLV" }, 247 { MTYPE_ISIS_DYNHN, "ISIS dyn hostname" }, 248 { MTYPE_ISIS_SPFTREE, "ISIS SPFtree" }, 249 { MTYPE_ISIS_VERTEX, "ISIS vertex" }, 250 { MTYPE_ISIS_ROUTE_INFO, "ISIS route info" }, 251 { MTYPE_ISIS_NEXTHOP, "ISIS nexthop" }, 252 { MTYPE_ISIS_NEXTHOP6, "ISIS nexthop6" }, 253 { MTYPE_ISIS_DICT, "ISIS dictionary" }, 254 { MTYPE_ISIS_DICT_NODE, "ISIS dictionary node" }, 255 { -1, NULL }, 256}; 257 258struct memory_list memory_list_pim[] = 259{ 260 { MTYPE_PIM_CHANNEL_OIL, "PIM SSM (S,G) channel OIL" }, 261 { MTYPE_PIM_INTERFACE, "PIM interface" }, 262 { MTYPE_PIM_IGMP_JOIN, "PIM interface IGMP static join" }, 263 { MTYPE_PIM_IGMP_SOCKET, "PIM interface IGMP socket" }, 264 { MTYPE_PIM_IGMP_GROUP, "PIM interface IGMP group" }, 265 { MTYPE_PIM_IGMP_GROUP_SOURCE, "PIM interface IGMP source" }, 266 { MTYPE_PIM_NEIGHBOR, "PIM interface neighbor" }, 267 { MTYPE_PIM_IFCHANNEL, "PIM interface (S,G) state" }, 268 { MTYPE_PIM_UPSTREAM, "PIM upstream (S,G) state" }, 269 { MTYPE_PIM_SSMPINGD, "PIM sspimgd socket" }, 270 { -1, NULL }, 271}; 272 273struct memory_list memory_list_vtysh[] = 274{ 275 { MTYPE_VTYSH_CONFIG, "Vtysh configuration", }, 276 { MTYPE_VTYSH_CONFIG_LINE, "Vtysh configuration line" }, 277 { -1, NULL }, 278}; 279 280struct mlist mlists[] __attribute__ ((unused)) = { 281 { memory_list_lib, "LIB" }, 282 { memory_list_zebra, "ZEBRA" }, 283 { memory_list_rip, "RIP" }, 284 { memory_list_ripng, "RIPNG" }, 285 { memory_list_ospf, "OSPF" }, 286 { memory_list_ospf6, "OSPF6" }, 287 { memory_list_isis, "ISIS" }, 288 { memory_list_bgp, "BGP" }, 289 { memory_list_pim, "PIM" }, 290 { NULL, NULL}, 291}; 292