#include "zebra.h"
#include "memory.h"
-struct memory_list memory_list_lib[] =
-{
- { MTYPE_TMP, "Temporary memory" },
- { MTYPE_STRVEC, "String vector" },
- { MTYPE_VECTOR, "Vector" },
- { MTYPE_VECTOR_INDEX, "Vector index" },
- { MTYPE_LINK_LIST, "Link List" },
- { MTYPE_LINK_NODE, "Link Node" },
- { MTYPE_THREAD, "Thread" },
- { MTYPE_THREAD_MASTER, "Thread master" },
- { MTYPE_THREAD_STATS, "Thread stats" },
- { MTYPE_VTY, "VTY" },
- { MTYPE_VTY_OUT_BUF, "VTY output buffer" },
- { MTYPE_VTY_HIST, "VTY history" },
- { MTYPE_IF, "Interface" },
- { MTYPE_CONNECTED, "Connected" },
- { MTYPE_NBR_CONNECTED, "Neighbor Connected" },
- { MTYPE_CONNECTED_LABEL, "Connected interface label" },
- { MTYPE_BUFFER, "Buffer" },
- { MTYPE_BUFFER_DATA, "Buffer data" },
- { MTYPE_STREAM, "Stream" },
- { MTYPE_STREAM_DATA, "Stream data" },
- { MTYPE_STREAM_FIFO, "Stream FIFO" },
- { MTYPE_PREFIX, "Prefix" },
- { MTYPE_PREFIX_IPV4, "Prefix IPv4" },
- { MTYPE_PREFIX_IPV6, "Prefix IPv6" },
- { MTYPE_HASH, "Hash" },
- { MTYPE_HASH_BACKET, "Hash Bucket" },
- { MTYPE_HASH_INDEX, "Hash Index" },
- { MTYPE_ROUTE_TABLE, "Route table" },
- { MTYPE_ROUTE_NODE, "Route node" },
- { MTYPE_DISTRIBUTE, "Distribute list" },
- { MTYPE_DISTRIBUTE_IFNAME, "Dist-list ifname" },
- { MTYPE_DISTRIBUTE_NAME, "Dist-list name" },
- { MTYPE_ACCESS_LIST, "Access List" },
- { MTYPE_ACCESS_LIST_STR, "Access List Str" },
- { MTYPE_ACCESS_FILTER, "Access Filter" },
- { MTYPE_PREFIX_LIST, "Prefix List" },
- { MTYPE_PREFIX_LIST_ENTRY, "Prefix List Entry" },
- { MTYPE_PREFIX_LIST_STR, "Prefix List Str" },
- { MTYPE_PREFIX_LIST_TRIE, "Prefix List Trie Table" },
- { MTYPE_ROUTE_MAP, "Route map" },
- { MTYPE_ROUTE_MAP_NAME, "Route map name" },
- { MTYPE_ROUTE_MAP_INDEX, "Route map index" },
- { MTYPE_ROUTE_MAP_RULE, "Route map rule" },
- { MTYPE_ROUTE_MAP_RULE_STR, "Route map rule str" },
- { MTYPE_ROUTE_MAP_COMPILED, "Route map compiled" },
- { MTYPE_ROUTE_MAP_DEP, "Route map dependency" },
- { MTYPE_CMD_TOKENS, "Command desc" },
- { MTYPE_KEY, "Key" },
- { MTYPE_KEYCHAIN, "Key chain" },
- { MTYPE_IF_RMAP, "Interface route map" },
- { MTYPE_IF_RMAP_NAME, "I.f. route map name", },
- { MTYPE_SOCKUNION, "Socket union" },
- { MTYPE_PRIVS, "Privilege information" },
- { MTYPE_ZLOG, "Logging" },
- { MTYPE_ZCLIENT, "Zclient" },
- { MTYPE_WORK_QUEUE, "Work queue" },
- { MTYPE_WORK_QUEUE_ITEM, "Work queue item" },
- { MTYPE_WORK_QUEUE_NAME, "Work queue name string" },
- { MTYPE_PQUEUE, "Priority queue" },
- { MTYPE_PQUEUE_DATA, "Priority queue data" },
- { MTYPE_HOST, "Host config" },
- { MTYPE_BFD_INFO, "BFD info" },
- { MTYPE_VRF, "VRF" },
- { MTYPE_VRF_NAME, "VRF name" },
- { MTYPE_VRF_BITMAP, "VRF bit-map" },
- { MTYPE_NS, "Logical-Router" },
- { MTYPE_NS_NAME, "Logical-Router Name" },
- { MTYPE_NS_BITMAP, "Logical-Router bit-map" },
- { MTYPE_IF_LINK_PARAMS, "Informational Link Parameters" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_zebra[] =
-{
- { MTYPE_RTADV_PREFIX, "Router Advertisement Prefix" },
- { MTYPE_ZEBRA_NS, "Zebra Name Space" },
- { MTYPE_ZEBRA_VRF, "ZEBRA VRF" },
- { MTYPE_NEXTHOP, "Nexthop" },
- { MTYPE_RIB, "RIB" },
- { MTYPE_RIB_QUEUE, "RIB process work queue" },
- { MTYPE_STATIC_ROUTE, "Static route" },
- { MTYPE_RIB_DEST, "RIB destination" },
- { MTYPE_RIB_TABLE_INFO, "RIB table info" },
- { MTYPE_RNH, "Nexthop tracking object" },
- { MTYPE_NETLINK_NAME, "Netlink name" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_bgp[] =
-{
- { MTYPE_BGP, "BGP instance" },
- { MTYPE_BGP_LISTENER, "BGP listen socket details" },
- { MTYPE_BGP_PEER, "BGP peer" },
- { MTYPE_BGP_PEER_HOST, "BGP peer hostname" },
- { MTYPE_BGP_PEER_IFNAME, "BGP peer ifname" },
- { MTYPE_BGP_PEER_GROUP, "BGP Peer group" },
- { MTYPE_BGP_PEER_GROUP_HOST, "BGP Peer group hostname" },
- { MTYPE_PEER_DESC, "Peer description" },
- { MTYPE_PEER_PASSWORD, "Peer password string" },
- { MTYPE_BGP_PEER_AF, "BGP peer af" },
- { MTYPE_BGP_UPDGRP, "BGP update group" },
- { MTYPE_BGP_UPD_SUBGRP, "BGP update subgroup" },
- { MTYPE_BGP_PACKET, "BGP packet" },
- { MTYPE_ATTR, "BGP attribute" },
- { MTYPE_ATTR_EXTRA, "BGP extra attributes" },
- { MTYPE_AS_PATH, "BGP aspath" },
- { MTYPE_AS_SEG, "BGP aspath seg" },
- { MTYPE_AS_SEG_DATA, "BGP aspath segment data" },
- { MTYPE_AS_STR, "BGP aspath str" },
- { 0, NULL },
- { MTYPE_BGP_TABLE, "BGP table" },
- { MTYPE_BGP_NODE, "BGP node" },
- { MTYPE_BGP_ROUTE, "BGP route" },
- { MTYPE_BGP_ROUTE_EXTRA, "BGP ancillary route info" },
- { MTYPE_BGP_CONN, "BGP connected" },
- { MTYPE_BGP_STATIC, "BGP static" },
- { MTYPE_BGP_ADVERTISE_ATTR, "BGP adv attr" },
- { MTYPE_BGP_ADVERTISE, "BGP adv" },
- { MTYPE_BGP_SYNCHRONISE, "BGP synchronise" },
- { MTYPE_BGP_ADJ_IN, "BGP adj in" },
- { MTYPE_BGP_ADJ_OUT, "BGP adj out" },
- { MTYPE_BGP_MPATH_INFO, "BGP multipath info" },
- { 0, NULL },
- { MTYPE_AS_LIST, "BGP AS list" },
- { MTYPE_AS_FILTER, "BGP AS filter" },
- { MTYPE_AS_FILTER_STR, "BGP AS filter str" },
- { 0, NULL },
- { MTYPE_COMMUNITY, "community" },
- { MTYPE_COMMUNITY_VAL, "community val" },
- { MTYPE_COMMUNITY_STR, "community str" },
- { 0, NULL },
- { MTYPE_ECOMMUNITY, "extcommunity" },
- { MTYPE_ECOMMUNITY_VAL, "extcommunity val" },
- { MTYPE_ECOMMUNITY_STR, "extcommunity str" },
- { 0, NULL },
- { MTYPE_COMMUNITY_LIST, "community-list" },
- { MTYPE_COMMUNITY_LIST_NAME, "community-list name" },
- { MTYPE_COMMUNITY_LIST_ENTRY, "community-list entry" },
- { MTYPE_COMMUNITY_LIST_CONFIG, "community-list config" },
- { MTYPE_COMMUNITY_LIST_HANDLER, "community-list handler" },
- { 0, NULL },
- { MTYPE_CLUSTER, "Cluster list" },
- { MTYPE_CLUSTER_VAL, "Cluster list val" },
- { 0, NULL },
- { MTYPE_BGP_PROCESS_QUEUE, "BGP Process queue" },
- { MTYPE_BGP_CLEAR_NODE_QUEUE, "BGP node clear queue" },
- { 0, NULL },
- { MTYPE_TRANSIT, "BGP transit attr" },
- { MTYPE_TRANSIT_VAL, "BGP transit val" },
- { 0, NULL },
- { MTYPE_BGP_DEBUG_FILTER, "BGP debug filter" },
- { MTYPE_BGP_DEBUG_STR, "BGP debug filter string" },
- { 0, NULL },
- { MTYPE_BGP_DISTANCE, "BGP distance" },
- { MTYPE_BGP_NEXTHOP_CACHE, "BGP nexthop" },
- { MTYPE_BGP_CONFED_LIST, "BGP confed list" },
- { MTYPE_PEER_UPDATE_SOURCE, "BGP peer update interface" },
- { MTYPE_PEER_CONF_IF, "BGP peer config interface" },
- { MTYPE_BGP_DAMP_INFO, "Dampening info" },
- { MTYPE_BGP_DAMP_ARRAY, "BGP Dampening array" },
- { MTYPE_BGP_REGEXP, "BGP regexp" },
- { MTYPE_BGP_AGGREGATE, "BGP aggregate" },
- { MTYPE_BGP_ADDR, "BGP own address" },
- { 0 , NULL},
- { MTYPE_BGP_REDIST, "BGP redistribution" },
- { MTYPE_BGP_FILTER_NAME, "BGP Filter Information" },
- { MTYPE_BGP_DUMP_STR, "BGP Dump String Information" },
- { MTYPE_ENCAP_TLV, "ENCAP TLV", },
- { -1, NULL }
-};
-
-struct memory_list memory_list_rip[] =
-{
- { MTYPE_RIP, "RIP structure" },
- { MTYPE_RIP_INFO, "RIP route info" },
- { MTYPE_RIP_INTERFACE, "RIP interface" },
- { MTYPE_RIP_PEER, "RIP peer" },
- { MTYPE_RIP_OFFSET_LIST, "RIP offset list" },
- { MTYPE_RIP_DISTANCE, "RIP distance" },
- { -1, NULL }
-};
-
-struct memory_list memory_list_ripng[] =
-{
- { MTYPE_RIPNG, "RIPng structure" },
- { MTYPE_RIPNG_ROUTE, "RIPng route info" },
- { MTYPE_RIPNG_AGGREGATE, "RIPng aggregate" },
- { MTYPE_RIPNG_PEER, "RIPng peer" },
- { MTYPE_RIPNG_OFFSET_LIST, "RIPng offset lst" },
- { MTYPE_RIPNG_RTE_DATA, "RIPng rte data" },
- { -1, NULL }
-};
-
-struct memory_list memory_list_ospf[] =
-{
- { MTYPE_OSPF_TOP, "OSPF top" },
- { MTYPE_OSPF_AREA, "OSPF area" },
- { MTYPE_OSPF_AREA_RANGE, "OSPF area range" },
- { MTYPE_OSPF_NETWORK, "OSPF network" },
- { MTYPE_OSPF_NEIGHBOR_STATIC,"OSPF static nbr" },
- { MTYPE_OSPF_IF, "OSPF interface" },
- { MTYPE_OSPF_NEIGHBOR, "OSPF neighbor" },
- { MTYPE_OSPF_ROUTE, "OSPF route" },
- { MTYPE_OSPF_TMP, "OSPF tmp mem" },
- { MTYPE_OSPF_LSA, "OSPF LSA" },
- { MTYPE_OSPF_LSA_DATA, "OSPF LSA data" },
- { MTYPE_OSPF_LSDB, "OSPF LSDB" },
- { MTYPE_OSPF_PACKET, "OSPF packet" },
- { MTYPE_OSPF_FIFO, "OSPF FIFO queue" },
- { MTYPE_OSPF_VERTEX, "OSPF vertex" },
- { MTYPE_OSPF_VERTEX_PARENT, "OSPF vertex parent", },
- { MTYPE_OSPF_NEXTHOP, "OSPF nexthop" },
- { MTYPE_OSPF_PATH, "OSPF path" },
- { MTYPE_OSPF_VL_DATA, "OSPF VL data" },
- { MTYPE_OSPF_CRYPT_KEY, "OSPF crypt key" },
- { MTYPE_OSPF_EXTERNAL_INFO, "OSPF ext. info" },
- { MTYPE_OSPF_DISTANCE, "OSPF distance" },
- { MTYPE_OSPF_IF_INFO, "OSPF if info" },
- { MTYPE_OSPF_IF_PARAMS, "OSPF if params" },
- { MTYPE_OSPF_MESSAGE, "OSPF message" },
- { MTYPE_OSPF_MPLS_TE, "OSPF MPLS parameters" },
- { MTYPE_OSPF_PCE_PARAMS, "OSPF PCE parameters" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_ospf6[] =
-{
- { MTYPE_OSPF6_TOP, "OSPF6 top" },
- { MTYPE_OSPF6_AREA, "OSPF6 area" },
- { MTYPE_OSPF6_IF, "OSPF6 interface" },
- { MTYPE_OSPF6_NEIGHBOR, "OSPF6 neighbor" },
- { MTYPE_OSPF6_ROUTE, "OSPF6 route" },
- { MTYPE_OSPF6_PREFIX, "OSPF6 prefix" },
- { MTYPE_OSPF6_MESSAGE, "OSPF6 message" },
- { MTYPE_OSPF6_LSA, "OSPF6 LSA" },
- { MTYPE_OSPF6_LSA_SUMMARY, "OSPF6 LSA summary" },
- { MTYPE_OSPF6_LSDB, "OSPF6 LSA database" },
- { MTYPE_OSPF6_VERTEX, "OSPF6 vertex" },
- { MTYPE_OSPF6_SPFTREE, "OSPF6 SPF tree" },
- { MTYPE_OSPF6_NEXTHOP, "OSPF6 nexthop" },
- { MTYPE_OSPF6_EXTERNAL_INFO,"OSPF6 ext. info" },
- { MTYPE_OSPF6_OTHER, "OSPF6 other" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_isis[] =
-{
- { MTYPE_ISIS, "ISIS" },
- { MTYPE_ISIS_TMP, "ISIS TMP" },
- { MTYPE_ISIS_CIRCUIT, "ISIS circuit" },
- { MTYPE_ISIS_LSP, "ISIS LSP" },
- { MTYPE_ISIS_ADJACENCY, "ISIS adjacency" },
- { MTYPE_ISIS_AREA, "ISIS area" },
- { MTYPE_ISIS_AREA_ADDR, "ISIS area address" },
- { MTYPE_ISIS_TLV, "ISIS TLV" },
- { MTYPE_ISIS_DYNHN, "ISIS dyn hostname" },
- { MTYPE_ISIS_SPFTREE, "ISIS SPFtree" },
- { MTYPE_ISIS_VERTEX, "ISIS vertex" },
- { MTYPE_ISIS_ROUTE_INFO, "ISIS route info" },
- { MTYPE_ISIS_NEXTHOP, "ISIS nexthop" },
- { MTYPE_ISIS_NEXTHOP6, "ISIS nexthop6" },
- { MTYPE_ISIS_DICT, "ISIS dictionary" },
- { MTYPE_ISIS_DICT_NODE, "ISIS dictionary node" },
- { MTYPE_ISIS_MPLS_TE, "ISIS MPLS_TE parameters" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_pim[] =
-{
- { MTYPE_PIM_CHANNEL_OIL, "PIM SSM (S,G) channel OIL" },
- { MTYPE_PIM_INTERFACE, "PIM interface" },
- { MTYPE_PIM_IGMP_JOIN, "PIM interface IGMP static join" },
- { MTYPE_PIM_IGMP_SOCKET, "PIM interface IGMP socket" },
- { MTYPE_PIM_IGMP_GROUP, "PIM interface IGMP group" },
- { MTYPE_PIM_IGMP_GROUP_SOURCE, "PIM interface IGMP source" },
- { MTYPE_PIM_NEIGHBOR, "PIM interface neighbor" },
- { MTYPE_PIM_IFCHANNEL, "PIM interface (S,G) state" },
- { MTYPE_PIM_UPSTREAM, "PIM upstream (S,G) state" },
- { MTYPE_PIM_SSMPINGD, "PIM sspimgd socket" },
- { MTYPE_PIM_STATIC_ROUTE, "PIM Static Route" },
- { MTYPE_PIM_BR, "PIM Bridge Router info" },
- { -1, NULL },
-};
-
-struct memory_list memory_list_vtysh[] =
-{
- { MTYPE_VTYSH_CONFIG, "Vtysh configuration", },
- { MTYPE_VTYSH_CONFIG_LINE, "Vtysh configuration line" },
- { -1, NULL },
-};
-
-struct mlist mlists[] __attribute__ ((unused)) = {
- { memory_list_lib, "LIB" },
- { memory_list_zebra, "ZEBRA" },
- { memory_list_rip, "RIP" },
- { memory_list_ripng, "RIPNG" },
- { memory_list_ospf, "OSPF" },
- { memory_list_ospf6, "OSPF6" },
- { memory_list_isis, "ISIS" },
- { memory_list_bgp, "BGP" },
- { memory_list_pim, "PIM" },
- { NULL, NULL},
-};
+DEFINE_MGROUP(LIB, "libzebra")
+DEFINE_MTYPE(LIB, TMP, "Temporary memory")
+DEFINE_MTYPE(LIB, STRVEC, "String vector")
+DEFINE_MTYPE(LIB, VECTOR, "Vector")
+DEFINE_MTYPE(LIB, VECTOR_INDEX, "Vector index")
+DEFINE_MTYPE(LIB, LINK_LIST, "Link List")
+DEFINE_MTYPE(LIB, LINK_NODE, "Link Node")
+DEFINE_MTYPE(LIB, THREAD, "Thread")
+DEFINE_MTYPE(LIB, THREAD_MASTER, "Thread master")
+DEFINE_MTYPE(LIB, THREAD_STATS, "Thread stats")
+DEFINE_MTYPE(LIB, VTY, "VTY")
+DEFINE_MTYPE(LIB, VTY_OUT_BUF, "VTY output buffer")
+DEFINE_MTYPE(LIB, VTY_HIST, "VTY history")
+DEFINE_MTYPE(LIB, IF, "Interface")
+DEFINE_MTYPE(LIB, CONNECTED, "Connected")
+DEFINE_MTYPE(LIB, NBR_CONNECTED, "Neighbor Connected")
+DEFINE_MTYPE(LIB, CONNECTED_LABEL, "Connected interface label")
+DEFINE_MTYPE(LIB, BUFFER, "Buffer")
+DEFINE_MTYPE(LIB, BUFFER_DATA, "Buffer data")
+DEFINE_MTYPE(LIB, STREAM, "Stream")
+DEFINE_MTYPE(LIB, STREAM_DATA, "Stream data")
+DEFINE_MTYPE(LIB, STREAM_FIFO, "Stream FIFO")
+DEFINE_MTYPE(LIB, PREFIX, "Prefix")
+DEFINE_MTYPE(LIB, PREFIX_IPV4, "Prefix IPv4")
+DEFINE_MTYPE(LIB, PREFIX_IPV6, "Prefix IPv6")
+DEFINE_MTYPE(LIB, HASH, "Hash")
+DEFINE_MTYPE(LIB, HASH_BACKET, "Hash Bucket")
+DEFINE_MTYPE(LIB, HASH_INDEX, "Hash Index")
+DEFINE_MTYPE(LIB, ROUTE_TABLE, "Route table")
+DEFINE_MTYPE(LIB, ROUTE_NODE, "Route node")
+DEFINE_MTYPE(LIB, DISTRIBUTE, "Distribute list")
+DEFINE_MTYPE(LIB, DISTRIBUTE_IFNAME, "Dist-list ifname")
+DEFINE_MTYPE(LIB, DISTRIBUTE_NAME, "Dist-list name")
+DEFINE_MTYPE(LIB, ACCESS_LIST, "Access List")
+DEFINE_MTYPE(LIB, ACCESS_LIST_STR, "Access List Str")
+DEFINE_MTYPE(LIB, ACCESS_FILTER, "Access Filter")
+DEFINE_MTYPE(LIB, PREFIX_LIST, "Prefix List")
+DEFINE_MTYPE(LIB, PREFIX_LIST_ENTRY, "Prefix List Entry")
+DEFINE_MTYPE(LIB, PREFIX_LIST_STR, "Prefix List Str")
+DEFINE_MTYPE(LIB, PREFIX_LIST_TRIE, "Prefix List Trie Table")
+DEFINE_MTYPE(LIB, ROUTE_MAP, "Route map")
+DEFINE_MTYPE(LIB, ROUTE_MAP_NAME, "Route map name")
+DEFINE_MTYPE(LIB, ROUTE_MAP_INDEX, "Route map index")
+DEFINE_MTYPE(LIB, ROUTE_MAP_RULE, "Route map rule")
+DEFINE_MTYPE(LIB, ROUTE_MAP_RULE_STR, "Route map rule str")
+DEFINE_MTYPE(LIB, ROUTE_MAP_COMPILED, "Route map compiled")
+DEFINE_MTYPE(LIB, ROUTE_MAP_DEP, "Route map dependency")
+DEFINE_MTYPE(LIB, CMD_TOKENS, "Command desc")
+DEFINE_MTYPE(LIB, KEY, "Key")
+DEFINE_MTYPE(LIB, KEYCHAIN, "Key chain")
+DEFINE_MTYPE(LIB, IF_RMAP, "Interface route map")
+DEFINE_MTYPE(LIB, IF_RMAP_NAME, "I.f. route map name")
+DEFINE_MTYPE(LIB, SOCKUNION, "Socket union")
+DEFINE_MTYPE(LIB, PRIVS, "Privilege information")
+DEFINE_MTYPE(LIB, ZLOG, "Logging")
+DEFINE_MTYPE(LIB, ZCLIENT, "Zclient")
+DEFINE_MTYPE(LIB, WORK_QUEUE, "Work queue")
+DEFINE_MTYPE(LIB, WORK_QUEUE_ITEM, "Work queue item")
+DEFINE_MTYPE(LIB, WORK_QUEUE_NAME, "Work queue name string")
+DEFINE_MTYPE(LIB, PQUEUE, "Priority queue")
+DEFINE_MTYPE(LIB, PQUEUE_DATA, "Priority queue data")
+DEFINE_MTYPE(LIB, HOST, "host configuration")
+DEFINE_MTYPE(LIB, BFD_INFO, "BFD info")
+DEFINE_MTYPE(LIB, VRF, "VRF")
+DEFINE_MTYPE(LIB, VRF_NAME, "VRF name")
+DEFINE_MTYPE(LIB, VRF_BITMAP, "VRF bit-map")
+DEFINE_MTYPE(LIB, IF_LINK_PARAMS, "Informational Link Parameters")
+DEFINE_MTYPE(LIB, NS, "Logical-Router")
+DEFINE_MTYPE(LIB, NS_NAME, "Logical-Router Name")
+DEFINE_MTYPE(LIB, NS_BITMAP, "Logical-Router bit-map")
+
+
+
+DEFINE_MGROUP(ZEBRA, "zebra")
+DEFINE_MTYPE(ZEBRA, RTADV_PREFIX, "Router Advertisement Prefix")
+DEFINE_MTYPE(ZEBRA, ZEBRA_NS, "Zebra Name Space")
+DEFINE_MTYPE(ZEBRA, ZEBRA_VRF, "ZEBRA VRF")
+DEFINE_MTYPE(ZEBRA, NEXTHOP, "Nexthop")
+DEFINE_MTYPE(ZEBRA, RIB, "RIB")
+DEFINE_MTYPE(ZEBRA, RIB_QUEUE, "RIB process work queue")
+DEFINE_MTYPE(ZEBRA, STATIC_ROUTE, "Static route")
+DEFINE_MTYPE(ZEBRA, RIB_DEST, "RIB destination")
+DEFINE_MTYPE(ZEBRA, RIB_TABLE_INFO, "RIB table info")
+DEFINE_MTYPE(ZEBRA, RNH, "Nexthop tracking object")
+DEFINE_MTYPE(ZEBRA, NETLINK_NAME, "Netlink name")
+
+
+
+DEFINE_MGROUP(BGPD, "bgpd")
+DEFINE_MTYPE(BGPD, BGP, "BGP instance")
+DEFINE_MTYPE(BGPD, BGP_LISTENER, "BGP listen socket details")
+DEFINE_MTYPE(BGPD, BGP_PEER, "BGP peer")
+DEFINE_MTYPE(BGPD, BGP_PEER_HOST, "BGP peer hostname")
+DEFINE_MTYPE(BGPD, BGP_PEER_IFNAME, "BGP peer ifname")
+DEFINE_MTYPE(BGPD, PEER_GROUP, "Peer group")
+DEFINE_MTYPE(BGPD, PEER_GROUP_HOST, "BGP Peer group hostname")
+DEFINE_MTYPE(BGPD, PEER_DESC, "Peer description")
+DEFINE_MTYPE(BGPD, PEER_PASSWORD, "Peer password string")
+DEFINE_MTYPE(BGPD, BGP_PEER_AF, "BGP peer af")
+DEFINE_MTYPE(BGPD, BGP_UPDGRP, "BGP update group")
+DEFINE_MTYPE(BGPD, BGP_UPD_SUBGRP, "BGP update subgroup")
+DEFINE_MTYPE(BGPD, BGP_PACKET, "BGP packet")
+DEFINE_MTYPE(BGPD, ATTR, "BGP attribute")
+DEFINE_MTYPE(BGPD, ATTR_EXTRA, "BGP extra attributes")
+DEFINE_MTYPE(BGPD, AS_PATH, "BGP aspath")
+DEFINE_MTYPE(BGPD, AS_SEG, "BGP aspath seg")
+DEFINE_MTYPE(BGPD, AS_SEG_DATA, "BGP aspath segment data")
+DEFINE_MTYPE(BGPD, AS_STR, "BGP aspath str")
+
+DEFINE_MTYPE(BGPD, BGP_TABLE, "BGP table")
+DEFINE_MTYPE(BGPD, BGP_NODE, "BGP node")
+DEFINE_MTYPE(BGPD, BGP_ROUTE, "BGP route")
+DEFINE_MTYPE(BGPD, BGP_ROUTE_EXTRA, "BGP ancillary route info")
+DEFINE_MTYPE(BGPD, BGP_CONN, "BGP connected")
+DEFINE_MTYPE(BGPD, BGP_STATIC, "BGP static")
+DEFINE_MTYPE(BGPD, BGP_ADVERTISE_ATTR, "BGP adv attr")
+DEFINE_MTYPE(BGPD, BGP_ADVERTISE, "BGP adv")
+DEFINE_MTYPE(BGPD, BGP_SYNCHRONISE, "BGP synchronise")
+DEFINE_MTYPE(BGPD, BGP_ADJ_IN, "BGP adj in")
+DEFINE_MTYPE(BGPD, BGP_ADJ_OUT, "BGP adj out")
+DEFINE_MTYPE(BGPD, BGP_MPATH_INFO, "BGP multipath info")
+
+DEFINE_MTYPE(BGPD, AS_LIST, "BGP AS list")
+DEFINE_MTYPE(BGPD, AS_FILTER, "BGP AS filter")
+DEFINE_MTYPE(BGPD, AS_FILTER_STR, "BGP AS filter str")
+
+DEFINE_MTYPE(BGPD, COMMUNITY, "community")
+DEFINE_MTYPE(BGPD, COMMUNITY_VAL, "community val")
+DEFINE_MTYPE(BGPD, COMMUNITY_STR, "community str")
+
+DEFINE_MTYPE(BGPD, ECOMMUNITY, "extcommunity")
+DEFINE_MTYPE(BGPD, ECOMMUNITY_VAL, "extcommunity val")
+DEFINE_MTYPE(BGPD, ECOMMUNITY_STR, "extcommunity str")
+
+DEFINE_MTYPE(BGPD, COMMUNITY_LIST, "community-list")
+DEFINE_MTYPE(BGPD, COMMUNITY_LIST_NAME, "community-list name")
+DEFINE_MTYPE(BGPD, COMMUNITY_LIST_ENTRY, "community-list entry")
+DEFINE_MTYPE(BGPD, COMMUNITY_LIST_CONFIG, "community-list config")
+DEFINE_MTYPE(BGPD, COMMUNITY_LIST_HANDLER, "community-list handler")
+
+DEFINE_MTYPE(BGPD, CLUSTER, "Cluster list")
+DEFINE_MTYPE(BGPD, CLUSTER_VAL, "Cluster list val")
+
+DEFINE_MTYPE(BGPD, BGP_PROCESS_QUEUE, "BGP Process queue")
+DEFINE_MTYPE(BGPD, BGP_CLEAR_NODE_QUEUE, "BGP node clear queue")
+
+DEFINE_MTYPE(BGPD, TRANSIT, "BGP transit attr")
+DEFINE_MTYPE(BGPD, TRANSIT_VAL, "BGP transit val")
+
+DEFINE_MTYPE(BGPD, BGP_DEBUG_FILTER, "BGP debug filter")
+DEFINE_MTYPE(BGPD, BGP_DEBUG_STR, "BGP debug filter string")
+
+DEFINE_MTYPE(BGPD, BGP_DISTANCE, "BGP distance")
+DEFINE_MTYPE(BGPD, BGP_NEXTHOP_CACHE, "BGP nexthop")
+DEFINE_MTYPE(BGPD, BGP_CONFED_LIST, "BGP confed list")
+DEFINE_MTYPE(BGPD, PEER_UPDATE_SOURCE, "BGP peer update interface")
+DEFINE_MTYPE(BGPD, PEER_CONF_IF, "BGP peer config interface")
+DEFINE_MTYPE(BGPD, BGP_DAMP_INFO, "Dampening info")
+DEFINE_MTYPE(BGPD, BGP_DAMP_ARRAY, "BGP Dampening array")
+DEFINE_MTYPE(BGPD, BGP_REGEXP, "BGP regexp")
+DEFINE_MTYPE(BGPD, BGP_AGGREGATE, "BGP aggregate")
+DEFINE_MTYPE(BGPD, BGP_ADDR, "BGP own address")
+
+DEFINE_MTYPE(BGPD, BGP_REDIST, "BGP redistribution")
+DEFINE_MTYPE(BGPD, BGP_FILTER_NAME, "BGP Filter Information")
+DEFINE_MTYPE(BGPD, BGP_DUMP_STR, "BGP Dump String Information")
+DEFINE_MTYPE(BGPD, ENCAP_TLV, "ENCAP TLV")
+
+
+
+DEFINE_MGROUP(RIPD, "ripd")
+DEFINE_MTYPE(RIPD, RIP, "RIP structure")
+DEFINE_MTYPE(RIPD, RIP_INFO, "RIP route info")
+DEFINE_MTYPE(RIPD, RIP_INTERFACE, "RIP interface")
+DEFINE_MTYPE(RIPD, RIP_PEER, "RIP peer")
+DEFINE_MTYPE(RIPD, RIP_OFFSET_LIST, "RIP offset list")
+DEFINE_MTYPE(RIPD, RIP_DISTANCE, "RIP distance")
+
+
+
+DEFINE_MGROUP(RIPNGD, "ripngd")
+DEFINE_MTYPE(RIPNGD, RIPNG, "RIPng structure")
+DEFINE_MTYPE(RIPNGD, RIPNG_ROUTE, "RIPng route info")
+DEFINE_MTYPE(RIPNGD, RIPNG_AGGREGATE, "RIPng aggregate")
+DEFINE_MTYPE(RIPNGD, RIPNG_PEER, "RIPng peer")
+DEFINE_MTYPE(RIPNGD, RIPNG_OFFSET_LIST, "RIPng offset lst")
+DEFINE_MTYPE(RIPNGD, RIPNG_RTE_DATA, "RIPng rte data")
+
+
+
+DEFINE_MGROUP(OSPFD, "ospfd")
+DEFINE_MTYPE(OSPFD, OSPF_TOP, "OSPF top")
+DEFINE_MTYPE(OSPFD, OSPF_AREA, "OSPF area")
+DEFINE_MTYPE(OSPFD, OSPF_AREA_RANGE, "OSPF area range")
+DEFINE_MTYPE(OSPFD, OSPF_NETWORK, "OSPF network")
+DEFINE_MTYPE(OSPFD, OSPF_NEIGHBOR_STATIC, "OSPF static nbr")
+DEFINE_MTYPE(OSPFD, OSPF_IF, "OSPF interface")
+DEFINE_MTYPE(OSPFD, OSPF_NEIGHBOR, "OSPF neighbor")
+DEFINE_MTYPE(OSPFD, OSPF_ROUTE, "OSPF route")
+DEFINE_MTYPE(OSPFD, OSPF_TMP, "OSPF tmp mem")
+DEFINE_MTYPE(OSPFD, OSPF_LSA, "OSPF LSA")
+DEFINE_MTYPE(OSPFD, OSPF_LSA_DATA, "OSPF LSA data")
+DEFINE_MTYPE(OSPFD, OSPF_LSDB, "OSPF LSDB")
+DEFINE_MTYPE(OSPFD, OSPF_PACKET, "OSPF packet")
+DEFINE_MTYPE(OSPFD, OSPF_FIFO, "OSPF FIFO queue")
+DEFINE_MTYPE(OSPFD, OSPF_VERTEX, "OSPF vertex")
+DEFINE_MTYPE(OSPFD, OSPF_VERTEX_PARENT, "OSPF vertex parent")
+DEFINE_MTYPE(OSPFD, OSPF_NEXTHOP, "OSPF nexthop")
+DEFINE_MTYPE(OSPFD, OSPF_PATH, "OSPF path")
+DEFINE_MTYPE(OSPFD, OSPF_VL_DATA, "OSPF VL data")
+DEFINE_MTYPE(OSPFD, OSPF_CRYPT_KEY, "OSPF crypt key")
+DEFINE_MTYPE(OSPFD, OSPF_EXTERNAL_INFO, "OSPF ext. info")
+DEFINE_MTYPE(OSPFD, OSPF_DISTANCE, "OSPF distance")
+DEFINE_MTYPE(OSPFD, OSPF_IF_INFO, "OSPF if info")
+DEFINE_MTYPE(OSPFD, OSPF_IF_PARAMS, "OSPF if params")
+DEFINE_MTYPE(OSPFD, OSPF_MESSAGE, "OSPF message")
+DEFINE_MTYPE(OSPFD, OSPF_MPLS_TE, "OSPF MPLS parameters")
+DEFINE_MTYPE(OSPFD, OSPF_PCE_PARAMS, "OSPF PCE parameters")
+
+
+
+DEFINE_MGROUP(OSPF6D, "ospf6d")
+DEFINE_MTYPE(OSPF6D, OSPF6_TOP, "OSPF6 top")
+DEFINE_MTYPE(OSPF6D, OSPF6_AREA, "OSPF6 area")
+DEFINE_MTYPE(OSPF6D, OSPF6_IF, "OSPF6 interface")
+DEFINE_MTYPE(OSPF6D, OSPF6_NEIGHBOR, "OSPF6 neighbor")
+DEFINE_MTYPE(OSPF6D, OSPF6_ROUTE, "OSPF6 route")
+DEFINE_MTYPE(OSPF6D, OSPF6_PREFIX, "OSPF6 prefix")
+DEFINE_MTYPE(OSPF6D, OSPF6_MESSAGE, "OSPF6 message")
+DEFINE_MTYPE(OSPF6D, OSPF6_LSA, "OSPF6 LSA")
+DEFINE_MTYPE(OSPF6D, OSPF6_LSA_SUMMARY, "OSPF6 LSA summary")
+DEFINE_MTYPE(OSPF6D, OSPF6_LSDB, "OSPF6 LSA database")
+DEFINE_MTYPE(OSPF6D, OSPF6_VERTEX, "OSPF6 vertex")
+DEFINE_MTYPE(OSPF6D, OSPF6_SPFTREE, "OSPF6 SPF tree")
+DEFINE_MTYPE(OSPF6D, OSPF6_NEXTHOP, "OSPF6 nexthop")
+DEFINE_MTYPE(OSPF6D, OSPF6_EXTERNAL_INFO,"OSPF6 ext. info")
+DEFINE_MTYPE(OSPF6D, OSPF6_OTHER, "OSPF6 other")
+
+
+
+DEFINE_MGROUP(ISISD, "isisd")
+DEFINE_MTYPE(ISISD, ISIS, "ISIS")
+DEFINE_MTYPE(ISISD, ISIS_TMP, "ISIS TMP")
+DEFINE_MTYPE(ISISD, ISIS_CIRCUIT, "ISIS circuit")
+DEFINE_MTYPE(ISISD, ISIS_LSP, "ISIS LSP")
+DEFINE_MTYPE(ISISD, ISIS_ADJACENCY, "ISIS adjacency")
+DEFINE_MTYPE(ISISD, ISIS_AREA, "ISIS area")
+DEFINE_MTYPE(ISISD, ISIS_AREA_ADDR, "ISIS area address")
+DEFINE_MTYPE(ISISD, ISIS_TLV, "ISIS TLV")
+DEFINE_MTYPE(ISISD, ISIS_DYNHN, "ISIS dyn hostname")
+DEFINE_MTYPE(ISISD, ISIS_SPFTREE, "ISIS SPFtree")
+DEFINE_MTYPE(ISISD, ISIS_VERTEX, "ISIS vertex")
+DEFINE_MTYPE(ISISD, ISIS_ROUTE_INFO, "ISIS route info")
+DEFINE_MTYPE(ISISD, ISIS_NEXTHOP, "ISIS nexthop")
+DEFINE_MTYPE(ISISD, ISIS_NEXTHOP6, "ISIS nexthop6")
+DEFINE_MTYPE(ISISD, ISIS_DICT, "ISIS dictionary")
+DEFINE_MTYPE(ISISD, ISIS_DICT_NODE, "ISIS dictionary node")
+DEFINE_MTYPE(ISISD, ISIS_MPLS_TE, "ISIS MPLS_TE parameters")
+
+
+
+DEFINE_MGROUP(PIMD, "pimd")
+DEFINE_MTYPE(PIMD, PIM_CHANNEL_OIL, "PIM SSM (S,G) channel OIL")
+DEFINE_MTYPE(PIMD, PIM_INTERFACE, "PIM interface")
+DEFINE_MTYPE(PIMD, PIM_IGMP_JOIN, "PIM interface IGMP static join")
+DEFINE_MTYPE(PIMD, PIM_IGMP_SOCKET, "PIM interface IGMP socket")
+DEFINE_MTYPE(PIMD, PIM_IGMP_GROUP, "PIM interface IGMP group")
+DEFINE_MTYPE(PIMD, PIM_IGMP_GROUP_SOURCE, "PIM interface IGMP source")
+DEFINE_MTYPE(PIMD, PIM_NEIGHBOR, "PIM interface neighbor")
+DEFINE_MTYPE(PIMD, PIM_IFCHANNEL, "PIM interface (S,G) state")
+DEFINE_MTYPE(PIMD, PIM_UPSTREAM, "PIM upstream (S,G) state")
+DEFINE_MTYPE(PIMD, PIM_SSMPINGD, "PIM sspimgd socket")
+DEFINE_MTYPE(PIMD, PIM_STATIC_ROUTE, "PIM Static Route")
+DEFINE_MTYPE(PIMD, PIM_BR, "PIM Bridge Router info")
+
+
+
+DEFINE_MGROUP(MVTYSH, "vtysh")
+DEFINE_MTYPE(MVTYSH, VTYSH_CONFIG, "Vtysh configuration")
+DEFINE_MTYPE(MVTYSH, VTYSH_CONFIG_LINE, "Vtysh configuration line")