Acked-by: Donald Sharp <[email protected]> On Wed, Feb 24, 2016 at 12:26 AM, David Lamparter < [email protected]> wrote:
> This is a rather large mechanical commit that splits up the memory types > defined in lib/memtypes.c and distributes them into *_memory.[ch] files > in the individual daemons. > > The zebra change is slightly annoying because there is no nice place to > put the #include "zebra_memory.h" statement. > > Signed-off-by: David Lamparter <[email protected]> > --- > bgpd/Makefile.am | 2 + > bgpd/bgp_community.c | 1 + > bgpd/bgp_memory.c | 99 ++++++++++++++++++++++++ > bgpd/bgp_memory.h | 95 ++++++++++++++++++++++++ > bgpd/bgpd.h | 1 + > isisd/Makefile.am | 2 + > isisd/dict.c | 1 + > isisd/isis_memory.c | 45 +++++++++++ > isisd/isis_memory.h | 46 ++++++++++++ > isisd/isisd.h | 1 + > lib/memtypes.c | 190 > ----------------------------------------------- > ospf6d/Makefile.am | 2 + > ospf6d/ospf6_memory.c | 44 +++++++++++ > ospf6d/ospf6_memory.h | 45 +++++++++++ > ospf6d/ospf6d.h | 2 + > ospfd/Makefile.am | 6 +- > ospfd/ospf_memory.c | 54 ++++++++++++++ > ospfd/ospf_memory.h | 55 ++++++++++++++ > ospfd/ospfd.h | 2 + > pimd/Makefile.am | 2 + > pimd/pim_memory.c | 40 ++++++++++ > pimd/pim_memory.h | 41 ++++++++++ > pimd/pimd.h | 1 + > ripd/Makefile.am | 2 + > ripd/rip_memory.c | 35 +++++++++ > ripd/rip_memory.h | 36 +++++++++ > ripd/ripd.h | 2 + > ripngd/Makefile.am | 2 + > ripngd/ripng_memory.c | 35 +++++++++ > ripngd/ripng_memory.h | 36 +++++++++ > ripngd/ripngd.h | 2 + > vtysh/vtysh.h | 3 + > vtysh/vtysh_config.c | 4 + > zebra/Makefile.am | 6 +- > zebra/connected.c | 1 + > zebra/if_ioctl.c | 1 + > zebra/if_ioctl_solaris.c | 1 + > zebra/if_sysctl.c | 1 + > zebra/interface.c | 1 + > zebra/irdp_interface.c | 1 + > zebra/irdp_main.c | 1 + > zebra/irdp_packet.c | 1 + > zebra/kernel_socket.c | 1 + > zebra/main.c | 1 + > zebra/router-id.c | 1 + > zebra/rt_netlink.c | 1 + > zebra/rtadv.c | 1 + > zebra/rtread_sysctl.c | 1 + > zebra/test_main.c | 1 + > zebra/zebra_memory.c | 38 ++++++++++ > zebra/zebra_memory.h | 39 ++++++++++ > zebra/zebra_rib.c | 1 + > zebra/zebra_routemap.c | 1 + > zebra/zebra_vty.c | 1 + > zebra/zserv.c | 1 + > 55 files changed, 843 insertions(+), 193 deletions(-) > create mode 100644 bgpd/bgp_memory.c > create mode 100644 bgpd/bgp_memory.h > create mode 100644 isisd/isis_memory.c > create mode 100644 isisd/isis_memory.h > create mode 100644 ospf6d/ospf6_memory.c > create mode 100644 ospf6d/ospf6_memory.h > create mode 100644 ospfd/ospf_memory.c > create mode 100644 ospfd/ospf_memory.h > create mode 100644 pimd/pim_memory.c > create mode 100644 pimd/pim_memory.h > create mode 100644 ripd/rip_memory.c > create mode 100644 ripd/rip_memory.h > create mode 100644 ripngd/ripng_memory.c > create mode 100644 ripngd/ripng_memory.h > create mode 100644 zebra/zebra_memory.c > create mode 100644 zebra/zebra_memory.h > > diff --git a/bgpd/Makefile.am b/bgpd/Makefile.am > index d2775f3..608d018 100644 > --- a/bgpd/Makefile.am > +++ b/bgpd/Makefile.am > @@ -11,6 +11,7 @@ sbin_PROGRAMS = bgpd > bin_PROGRAMS = bgp_btoa > > libbgp_a_SOURCES = \ > + bgp_memory.c \ > bgpd.c bgp_fsm.c bgp_aspath.c bgp_community.c bgp_attr.c \ > bgp_debug.c bgp_route.c bgp_zebra.c bgp_open.c bgp_routemap.c \ > bgp_packet.c bgp_network.c bgp_filter.c bgp_regex.c bgp_clist.c \ > @@ -19,6 +20,7 @@ libbgp_a_SOURCES = \ > bgp_encap.c bgp_encap_tlv.c > > noinst_HEADERS = \ > + bgp_memory.h \ > bgp_aspath.h bgp_attr.h bgp_community.h bgp_debug.h bgp_fsm.h \ > bgp_network.h bgp_open.h bgp_packet.h bgp_regex.h bgp_route.h \ > bgpd.h bgp_filter.h bgp_clist.h bgp_dump.h bgp_zebra.h \ > diff --git a/bgpd/bgp_community.c b/bgpd/bgp_community.c > index f1997bd..0d272c4 100644 > --- a/bgpd/bgp_community.c > +++ b/bgpd/bgp_community.c > @@ -23,6 +23,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, > Boston, MA > #include "hash.h" > #include "memory.h" > > +#include "bgpd/bgp_memory.h" > #include "bgpd/bgp_community.h" > > /* Hash of community attribute. */ > diff --git a/bgpd/bgp_memory.c b/bgpd/bgp_memory.c > new file mode 100644 > index 0000000..1a0b2c3 > --- /dev/null > +++ b/bgpd/bgp_memory.c > @@ -0,0 +1,99 @@ > +/* bgpd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "bgp_memory.h" > + > +/* this file is temporary in nature; definitions should be moved to the > + * files they're used in */ > + > +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, PEER_GROUP, "Peer group") > +DEFINE_MTYPE(BGPD, PEER_DESC, "Peer description") > +DEFINE_MTYPE(BGPD, PEER_PASSWORD, "Peer password string") > +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, ENCAP_TLV, "ENCAP TLV") > + > +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, 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") > + > + > diff --git a/bgpd/bgp_memory.h b/bgpd/bgp_memory.h > new file mode 100644 > index 0000000..4da9f99 > --- /dev/null > +++ b/bgpd/bgp_memory.h > @@ -0,0 +1,95 @@ > +/* bgpd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_BGP_MEMORY_H > +#define _QUAGGA_BGP_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(BGPD) > +DECLARE_MTYPE(BGP) > +DECLARE_MTYPE(BGP_LISTENER) > +DECLARE_MTYPE(BGP_PEER) > +DECLARE_MTYPE(BGP_PEER_HOST) > +DECLARE_MTYPE(PEER_GROUP) > +DECLARE_MTYPE(PEER_DESC) > +DECLARE_MTYPE(PEER_PASSWORD) > +DECLARE_MTYPE(ATTR) > +DECLARE_MTYPE(ATTR_EXTRA) > +DECLARE_MTYPE(AS_PATH) > +DECLARE_MTYPE(AS_SEG) > +DECLARE_MTYPE(AS_SEG_DATA) > +DECLARE_MTYPE(AS_STR) > + > +DECLARE_MTYPE(BGP_TABLE) > +DECLARE_MTYPE(BGP_NODE) > +DECLARE_MTYPE(BGP_ROUTE) > +DECLARE_MTYPE(BGP_ROUTE_EXTRA) > +DECLARE_MTYPE(BGP_CONN) > +DECLARE_MTYPE(BGP_STATIC) > +DECLARE_MTYPE(BGP_ADVERTISE_ATTR) > +DECLARE_MTYPE(BGP_ADVERTISE) > +DECLARE_MTYPE(BGP_SYNCHRONISE) > +DECLARE_MTYPE(BGP_ADJ_IN) > +DECLARE_MTYPE(BGP_ADJ_OUT) > +DECLARE_MTYPE(BGP_MPATH_INFO) > + > +DECLARE_MTYPE(AS_LIST) > +DECLARE_MTYPE(AS_FILTER) > +DECLARE_MTYPE(AS_FILTER_STR) > + > +DECLARE_MTYPE(COMMUNITY) > +DECLARE_MTYPE(COMMUNITY_VAL) > +DECLARE_MTYPE(COMMUNITY_STR) > + > +DECLARE_MTYPE(ECOMMUNITY) > +DECLARE_MTYPE(ECOMMUNITY_VAL) > +DECLARE_MTYPE(ECOMMUNITY_STR) > + > +DECLARE_MTYPE(COMMUNITY_LIST) > +DECLARE_MTYPE(COMMUNITY_LIST_NAME) > +DECLARE_MTYPE(COMMUNITY_LIST_ENTRY) > +DECLARE_MTYPE(COMMUNITY_LIST_CONFIG) > +DECLARE_MTYPE(COMMUNITY_LIST_HANDLER) > + > +DECLARE_MTYPE(CLUSTER) > +DECLARE_MTYPE(CLUSTER_VAL) > + > +DECLARE_MTYPE(BGP_PROCESS_QUEUE) > +DECLARE_MTYPE(BGP_CLEAR_NODE_QUEUE) > + > +DECLARE_MTYPE(TRANSIT) > +DECLARE_MTYPE(TRANSIT_VAL) > + > +DECLARE_MTYPE(ENCAP_TLV) > + > +DECLARE_MTYPE(BGP_DISTANCE) > +DECLARE_MTYPE(BGP_NEXTHOP_CACHE) > +DECLARE_MTYPE(BGP_CONFED_LIST) > +DECLARE_MTYPE(PEER_UPDATE_SOURCE) > +DECLARE_MTYPE(BGP_DAMP_INFO) > +DECLARE_MTYPE(BGP_DAMP_ARRAY) > +DECLARE_MTYPE(BGP_REGEXP) > +DECLARE_MTYPE(BGP_AGGREGATE) > +DECLARE_MTYPE(BGP_ADDR) > + > +#endif /* _QUAGGA_BGP_MEMORY_H */ > diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h > index 5be5a19..37d8912 100644 > --- a/bgpd/bgpd.h > +++ b/bgpd/bgpd.h > @@ -23,6 +23,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, > Boston, MA > > /* For union sockunion. */ > #include "sockunion.h" > +#include "bgp_memory.h" > > /* Typedef BGP specific types. */ > typedef u_int32_t as_t; > diff --git a/isisd/Makefile.am b/isisd/Makefile.am > index 5f86663..39ff320 100644 > --- a/isisd/Makefile.am > +++ b/isisd/Makefile.am > @@ -13,6 +13,7 @@ sbin_PROGRAMS = isisd > SUBDIRS = topology > > libisis_a_SOURCES = \ > + isis_memory.c \ > isis_adjacency.c isis_lsp.c dict.c isis_circuit.c isis_pdu.c \ > isis_tlv.c isisd.c isis_misc.c isis_zebra.c isis_dr.c \ > isis_flags.c isis_dynhn.c iso_checksum.c isis_csm.c isis_events.c \ > @@ -20,6 +21,7 @@ libisis_a_SOURCES = \ > > > noinst_HEADERS = \ > + isis_memory.h \ > isisd.h isis_pdu.h isis_tlv.h isis_adjacency.h isis_constants.h \ > isis_lsp.h dict.h isis_circuit.h isis_misc.h isis_network.h \ > isis_zebra.h isis_dr.h isis_flags.h isis_dynhn.h isis_common.h \ > diff --git a/isisd/dict.c b/isisd/dict.c > index bbcb421..a038028 100644 > --- a/isisd/dict.c > +++ b/isisd/dict.c > @@ -18,6 +18,7 @@ > #include "zebra.h" > #include "zassert.h" > #include "memory.h" > +#include "isis_memory.h" > #include "dict.h" > > /* > diff --git a/isisd/isis_memory.c b/isisd/isis_memory.c > new file mode 100644 > index 0000000..9bc506e > --- /dev/null > +++ b/isisd/isis_memory.c > @@ -0,0 +1,45 @@ > +/* isisd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "isis_memory.h" > + > +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") > diff --git a/isisd/isis_memory.h b/isisd/isis_memory.h > new file mode 100644 > index 0000000..40bb88a > --- /dev/null > +++ b/isisd/isis_memory.h > @@ -0,0 +1,46 @@ > +/* isisd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_ISIS_MEMORY_H > +#define _QUAGGA_ISIS_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(ISISD) > +DECLARE_MTYPE(ISIS) > +DECLARE_MTYPE(ISIS_TMP) > +DECLARE_MTYPE(ISIS_CIRCUIT) > +DECLARE_MTYPE(ISIS_LSP) > +DECLARE_MTYPE(ISIS_ADJACENCY) > +DECLARE_MTYPE(ISIS_AREA) > +DECLARE_MTYPE(ISIS_AREA_ADDR) > +DECLARE_MTYPE(ISIS_TLV) > +DECLARE_MTYPE(ISIS_DYNHN) > +DECLARE_MTYPE(ISIS_SPFTREE) > +DECLARE_MTYPE(ISIS_VERTEX) > +DECLARE_MTYPE(ISIS_ROUTE_INFO) > +DECLARE_MTYPE(ISIS_NEXTHOP) > +DECLARE_MTYPE(ISIS_NEXTHOP6) > +DECLARE_MTYPE(ISIS_DICT) > +DECLARE_MTYPE(ISIS_DICT_NODE) > + > +#endif /* _QUAGGA_ISIS_MEMORY_H */ > diff --git a/isisd/isisd.h b/isisd/isisd.h > index 1a88efd..53c8e18 100644 > --- a/isisd/isisd.h > +++ b/isisd/isisd.h > @@ -26,6 +26,7 @@ > #define ISISD_VERSION "0.0.7" > > #include "isisd/isis_redist.h" > +#include "isis_memory.h" > > /* uncomment if you are a developer in bug hunt */ > /* #define EXTREME_DEBUG */ > diff --git a/lib/memtypes.c b/lib/memtypes.c > index 1e72ab6..ae6532a 100644 > --- a/lib/memtypes.c > +++ b/lib/memtypes.c > @@ -75,197 +75,7 @@ DEFINE_MTYPE(LIB, VRF_BITMAP, "VRF > bit-map") > > > > -DEFINE_MGROUP(ZEBRA, "zebra") > -DEFINE_MTYPE(ZEBRA, RTADV_PREFIX, "Router Advertisement > Prefix") > -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, 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, PEER_GROUP, "Peer group") > -DEFINE_MTYPE(BGPD, PEER_DESC, "Peer description") > -DEFINE_MTYPE(BGPD, PEER_PASSWORD, "Peer password string") > -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_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, 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, 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(BABELD, "babeld") > DEFINE_MTYPE(BABELD, BABEL, "Babel structure") > DEFINE_MTYPE(BABELD, BABEL_IF, "Babel interface") > > - > - > -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_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_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_MGROUP(MVTYSH, "vtysh") > -DEFINE_MTYPE(MVTYSH, VTYSH_CONFIG, "Vtysh configuration") > -DEFINE_MTYPE(MVTYSH, VTYSH_CONFIG_LINE, "Vtysh configuration line") > - > diff --git a/ospf6d/Makefile.am b/ospf6d/Makefile.am > index 75f2257..d988ae9 100644 > --- a/ospf6d/Makefile.am > +++ b/ospf6d/Makefile.am > @@ -10,6 +10,7 @@ noinst_LIBRARIES = libospf6.a > sbin_PROGRAMS = ospf6d > > libospf6_a_SOURCES = \ > + ospf6_memory.c \ > ospf6_network.c ospf6_message.c ospf6_lsa.c ospf6_lsdb.c \ > ospf6_top.c ospf6_area.c ospf6_interface.c ospf6_neighbor.c \ > ospf6_flood.c ospf6_route.c ospf6_intra.c ospf6_zebra.c \ > @@ -17,6 +18,7 @@ libospf6_a_SOURCES = \ > ospf6d.c > > noinst_HEADERS = \ > + ospf6_memory.h \ > ospf6_network.h ospf6_message.h ospf6_lsa.h ospf6_lsdb.h \ > ospf6_top.h ospf6_area.h ospf6_interface.h ospf6_neighbor.h \ > ospf6_flood.h ospf6_route.h ospf6_intra.h ospf6_zebra.h \ > diff --git a/ospf6d/ospf6_memory.c b/ospf6d/ospf6_memory.c > new file mode 100644 > index 0000000..7f2fbbf > --- /dev/null > +++ b/ospf6d/ospf6_memory.c > @@ -0,0 +1,44 @@ > +/* ospf6d memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "ospf6_memory.h" > + > +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") > diff --git a/ospf6d/ospf6_memory.h b/ospf6d/ospf6_memory.h > new file mode 100644 > index 0000000..3ff5de4 > --- /dev/null > +++ b/ospf6d/ospf6_memory.h > @@ -0,0 +1,45 @@ > +/* ospf6d memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_OSPF6_MEMORY_H > +#define _QUAGGA_OSPF6_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(OSPF6D) > +DECLARE_MTYPE(OSPF6_TOP) > +DECLARE_MTYPE(OSPF6_AREA) > +DECLARE_MTYPE(OSPF6_IF) > +DECLARE_MTYPE(OSPF6_NEIGHBOR) > +DECLARE_MTYPE(OSPF6_ROUTE) > +DECLARE_MTYPE(OSPF6_PREFIX) > +DECLARE_MTYPE(OSPF6_MESSAGE) > +DECLARE_MTYPE(OSPF6_LSA) > +DECLARE_MTYPE(OSPF6_LSA_SUMMARY) > +DECLARE_MTYPE(OSPF6_LSDB) > +DECLARE_MTYPE(OSPF6_VERTEX) > +DECLARE_MTYPE(OSPF6_SPFTREE) > +DECLARE_MTYPE(OSPF6_NEXTHOP) > +DECLARE_MTYPE(OSPF6_EXTERNAL_INFO) > +DECLARE_MTYPE(OSPF6_OTHER) > + > +#endif /* _QUAGGA_OSPF6_MEMORY_H */ > diff --git a/ospf6d/ospf6d.h b/ospf6d/ospf6d.h > index 9e2efb4..b41e8ff 100644 > --- a/ospf6d/ospf6d.h > +++ b/ospf6d/ospf6d.h > @@ -27,6 +27,8 @@ > #include "libospf.h" > #include "thread.h" > > +#include "ospf6_memory.h" > + > /* global variables */ > extern struct thread_master *master; > > diff --git a/ospfd/Makefile.am b/ospfd/Makefile.am > index f21f507..7055ea5 100644 > --- a/ospfd/Makefile.am > +++ b/ospfd/Makefile.am > @@ -16,7 +16,8 @@ libospf_la_SOURCES = \ > ospf_nsm.c ospf_dump.c ospf_network.c ospf_packet.c ospf_lsa.c \ > ospf_spf.c ospf_route.c ospf_ase.c ospf_abr.c ospf_ia.c > ospf_flood.c \ > ospf_lsdb.c ospf_asbr.c ospf_routemap.c ospf_snmp.c \ > - ospf_opaque.c ospf_te.c ospf_vty.c ospf_api.c ospf_apiserver.c > + ospf_opaque.c ospf_te.c ospf_vty.c ospf_api.c ospf_apiserver.c \ > + ospf_memory.c > > ospfdheaderdir = $(pkgincludedir)/ospfd > > @@ -27,7 +28,8 @@ ospfdheader_HEADERS = \ > noinst_HEADERS = \ > ospf_interface.h ospf_neighbor.h ospf_network.h ospf_packet.h \ > ospf_zebra.h ospf_spf.h ospf_route.h ospf_ase.h ospf_abr.h > ospf_ia.h \ > - ospf_flood.h ospf_snmp.h ospf_te.h ospf_vty.h ospf_apiserver.h > + ospf_flood.h ospf_snmp.h ospf_te.h ospf_vty.h ospf_apiserver.h \ > + ospf_memory.h > > ospfd_SOURCES = ospf_main.c > > diff --git a/ospfd/ospf_memory.c b/ospfd/ospf_memory.c > new file mode 100644 > index 0000000..ab7e41e > --- /dev/null > +++ b/ospfd/ospf_memory.c > @@ -0,0 +1,54 @@ > +/* ospfd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "ospf_memory.h" > + > +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") > diff --git a/ospfd/ospf_memory.h b/ospfd/ospf_memory.h > new file mode 100644 > index 0000000..1b775ef > --- /dev/null > +++ b/ospfd/ospf_memory.h > @@ -0,0 +1,55 @@ > +/* ospfd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_OSPF_MEMORY_H > +#define _QUAGGA_OSPF_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(OSPFD) > +DECLARE_MTYPE(OSPF_TOP) > +DECLARE_MTYPE(OSPF_AREA) > +DECLARE_MTYPE(OSPF_AREA_RANGE) > +DECLARE_MTYPE(OSPF_NETWORK) > +DECLARE_MTYPE(OSPF_NEIGHBOR_STATIC) > +DECLARE_MTYPE(OSPF_IF) > +DECLARE_MTYPE(OSPF_NEIGHBOR) > +DECLARE_MTYPE(OSPF_ROUTE) > +DECLARE_MTYPE(OSPF_TMP) > +DECLARE_MTYPE(OSPF_LSA) > +DECLARE_MTYPE(OSPF_LSA_DATA) > +DECLARE_MTYPE(OSPF_LSDB) > +DECLARE_MTYPE(OSPF_PACKET) > +DECLARE_MTYPE(OSPF_FIFO) > +DECLARE_MTYPE(OSPF_VERTEX) > +DECLARE_MTYPE(OSPF_VERTEX_PARENT) > +DECLARE_MTYPE(OSPF_NEXTHOP) > +DECLARE_MTYPE(OSPF_PATH) > +DECLARE_MTYPE(OSPF_VL_DATA) > +DECLARE_MTYPE(OSPF_CRYPT_KEY) > +DECLARE_MTYPE(OSPF_EXTERNAL_INFO) > +DECLARE_MTYPE(OSPF_DISTANCE) > +DECLARE_MTYPE(OSPF_IF_INFO) > +DECLARE_MTYPE(OSPF_IF_PARAMS) > +DECLARE_MTYPE(OSPF_MESSAGE) > + > +#endif /* _QUAGGA_OSPF_MEMORY_H */ > diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h > index 098fc5f..ad6913a 100644 > --- a/ospfd/ospfd.h > +++ b/ospfd/ospfd.h > @@ -29,6 +29,8 @@ > #include "filter.h" > #include "log.h" > > +#include "ospf_memory.h" > + > #define OSPF_VERSION 2 > > /* VTY port number. */ > diff --git a/pimd/Makefile.am b/pimd/Makefile.am > index f57c4c2..037aa57 100644 > --- a/pimd/Makefile.am > +++ b/pimd/Makefile.am > @@ -46,6 +46,7 @@ sbin_PROGRAMS = pimd > bin_PROGRAMS = test_igmpv3_join > > libpim_a_SOURCES = \ > + pim_memory.c \ > pimd.c pim_version.c pim_cmd.c pim_signals.c pim_iface.c \ > pim_vty.c pim_igmp.c pim_sock.c pim_zebra.c \ > pim_igmpv3.c pim_str.c pim_mroute.c pim_util.c pim_time.c \ > @@ -55,6 +56,7 @@ libpim_a_SOURCES = \ > pim_igmp_join.c pim_ssmpingd.c pim_int.c pim_static.c > > noinst_HEADERS = \ > + pim_memory.h \ > pimd.h pim_version.h pim_cmd.h pim_signals.h pim_iface.h \ > pim_vty.h pim_igmp.h pim_sock.h pim_zebra.h \ > pim_igmpv3.h pim_str.h pim_mroute.h pim_util.h pim_time.h \ > diff --git a/pimd/pim_memory.c b/pimd/pim_memory.c > new file mode 100644 > index 0000000..e955033 > --- /dev/null > +++ b/pimd/pim_memory.c > @@ -0,0 +1,40 @@ > +/* pimd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "pim_memory.h" > + > +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") > diff --git a/pimd/pim_memory.h b/pimd/pim_memory.h > new file mode 100644 > index 0000000..eb09375 > --- /dev/null > +++ b/pimd/pim_memory.h > @@ -0,0 +1,41 @@ > +/* pimd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_PIM_MEMORY_H > +#define _QUAGGA_PIM_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(PIMD) > +DECLARE_MTYPE(PIM_CHANNEL_OIL) > +DECLARE_MTYPE(PIM_INTERFACE) > +DECLARE_MTYPE(PIM_IGMP_JOIN) > +DECLARE_MTYPE(PIM_IGMP_SOCKET) > +DECLARE_MTYPE(PIM_IGMP_GROUP) > +DECLARE_MTYPE(PIM_IGMP_GROUP_SOURCE) > +DECLARE_MTYPE(PIM_NEIGHBOR) > +DECLARE_MTYPE(PIM_IFCHANNEL) > +DECLARE_MTYPE(PIM_UPSTREAM) > +DECLARE_MTYPE(PIM_SSMPINGD) > +DECLARE_MTYPE(PIM_STATIC_ROUTE) > + > +#endif /* _QUAGGA_PIM_MEMORY_H */ > diff --git a/pimd/pimd.h b/pimd/pimd.h > index aed26be..75c1dec 100644 > --- a/pimd/pimd.h > +++ b/pimd/pimd.h > @@ -25,6 +25,7 @@ > > #include <stdint.h> > > +#include "pim_memory.h" > #include "pim_mroute.h" > #include "pim_assert.h" > > diff --git a/ripd/Makefile.am b/ripd/Makefile.am > index 571a499..e7073a7 100644 > --- a/ripd/Makefile.am > +++ b/ripd/Makefile.am > @@ -10,10 +10,12 @@ noinst_LIBRARIES = librip.a > sbin_PROGRAMS = ripd > > librip_a_SOURCES = \ > + rip_memory.c \ > ripd.c rip_zebra.c rip_interface.c rip_debug.c rip_snmp.c \ > rip_routemap.c rip_peer.c rip_offset.c > > noinst_HEADERS = \ > + rip_memory.h \ > ripd.h rip_debug.h rip_interface.h > > ripd_SOURCES = \ > diff --git a/ripd/rip_memory.c b/ripd/rip_memory.c > new file mode 100644 > index 0000000..d2a9580 > --- /dev/null > +++ b/ripd/rip_memory.c > @@ -0,0 +1,35 @@ > +/* ripd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "rip_memory.h" > + > +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") > diff --git a/ripd/rip_memory.h b/ripd/rip_memory.h > new file mode 100644 > index 0000000..7aec219 > --- /dev/null > +++ b/ripd/rip_memory.h > @@ -0,0 +1,36 @@ > +/* ripd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_RIP_MEMORY_H > +#define _QUAGGA_RIP_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(RIPD) > +DECLARE_MTYPE(RIP) > +DECLARE_MTYPE(RIP_INFO) > +DECLARE_MTYPE(RIP_INTERFACE) > +DECLARE_MTYPE(RIP_PEER) > +DECLARE_MTYPE(RIP_OFFSET_LIST) > +DECLARE_MTYPE(RIP_DISTANCE) > + > +#endif /* _QUAGGA_RIP_MEMORY_H */ > diff --git a/ripd/ripd.h b/ripd/ripd.h > index dbed342..43479d8 100644 > --- a/ripd/ripd.h > +++ b/ripd/ripd.h > @@ -22,6 +22,8 @@ > #ifndef _ZEBRA_RIP_H > #define _ZEBRA_RIP_H > > +#include "rip_memory.h" > + > /* RIP version number. */ > #define RIPv1 1 > #define RIPv2 2 > diff --git a/ripngd/Makefile.am b/ripngd/Makefile.am > index df0f7d3..c08e58a 100644 > --- a/ripngd/Makefile.am > +++ b/ripngd/Makefile.am > @@ -10,10 +10,12 @@ noinst_LIBRARIES = libripng.a > sbin_PROGRAMS = ripngd > > libripng_a_SOURCES = \ > + ripng_memory.c \ > ripng_interface.c ripngd.c ripng_zebra.c ripng_route.c > ripng_debug.c \ > ripng_routemap.c ripng_offset.c ripng_peer.c ripng_nexthop.c > > noinst_HEADERS = \ > + ripng_memory.h \ > ripng_debug.h ripng_route.h ripngd.h ripng_nexthop.h > > ripngd_SOURCES = \ > diff --git a/ripngd/ripng_memory.c b/ripngd/ripng_memory.c > new file mode 100644 > index 0000000..1d2320e > --- /dev/null > +++ b/ripngd/ripng_memory.c > @@ -0,0 +1,35 @@ > +/* ripngd memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "ripng_memory.h" > + > +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") > diff --git a/ripngd/ripng_memory.h b/ripngd/ripng_memory.h > new file mode 100644 > index 0000000..76b830a > --- /dev/null > +++ b/ripngd/ripng_memory.h > @@ -0,0 +1,36 @@ > +/* ripngd memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_RIPNG_MEMORY_H > +#define _QUAGGA_RIPNG_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(RIPNGD) > +DECLARE_MTYPE(RIPNG) > +DECLARE_MTYPE(RIPNG_ROUTE) > +DECLARE_MTYPE(RIPNG_AGGREGATE) > +DECLARE_MTYPE(RIPNG_PEER) > +DECLARE_MTYPE(RIPNG_OFFSET_LIST) > +DECLARE_MTYPE(RIPNG_RTE_DATA) > + > +#endif /* _QUAGGA_RIPNG_MEMORY_H */ > diff --git a/ripngd/ripngd.h b/ripngd/ripngd.h > index 75b542e..b0ce36c 100644 > --- a/ripngd/ripngd.h > +++ b/ripngd/ripngd.h > @@ -26,6 +26,8 @@ > #include <zclient.h> > #include <vty.h> > > +#include "ripng_memory.h" > + > /* RIPng version and port number. */ > #define RIPNG_V1 1 > #define RIPNG_PORT_DEFAULT 521 > diff --git a/vtysh/vtysh.h b/vtysh/vtysh.h > index 1681a71..84051ff 100644 > --- a/vtysh/vtysh.h > +++ b/vtysh/vtysh.h > @@ -22,6 +22,9 @@ > #ifndef VTYSH_H > #define VTYSH_H > > +#include "memory.h" > +DECLARE_MGROUP(MVTYSH) > + > #define VTYSH_ZEBRA 0x01 > #define VTYSH_RIPD 0x02 > #define VTYSH_RIPNGD 0x04 > diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c > index a069164..f19fe0b 100644 > --- a/vtysh/vtysh_config.c > +++ b/vtysh/vtysh_config.c > @@ -26,6 +26,10 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, > Boston, MA > > #include "vtysh/vtysh.h" > > +DEFINE_MGROUP(MVTYSH, "vtysh") > +DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CONFIG, "Vtysh configuration") > +DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CONFIG_LINE, "Vtysh configuration line") > + > vector configvec; > > extern int vtysh_writeconfig_integrated; > diff --git a/zebra/Makefile.am b/zebra/Makefile.am > index 90ce7b9..63d0376 100644 > --- a/zebra/Makefile.am > +++ b/zebra/Makefile.am > @@ -27,16 +27,20 @@ sbin_PROGRAMS = zebra > noinst_PROGRAMS = testzebra > > zebra_SOURCES = \ > + zebra_memory.c \ > zserv.c main.c interface.c connected.c zebra_rib.c > zebra_routemap.c \ > redistribute.c debug.c rtadv.c zebra_snmp.c zebra_vty.c \ > irdp_main.c irdp_interface.c irdp_packet.c router-id.c zebra_fpm.c > \ > $(othersrc) > > -testzebra_SOURCES = test_main.c zebra_rib.c interface.c connected.c > debug.c \ > +testzebra_SOURCES = \ > + zebra_memory.c \ > + test_main.c zebra_rib.c interface.c connected.c debug.c \ > zebra_vty.c \ > kernel_null.c redistribute_null.c ioctl_null.c misc_null.c > > noinst_HEADERS = \ > + zebra_memory.h \ > connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h > rtadv.h \ > interface.h ipforward.h irdp.h router-id.h kernel_socket.h \ > rt_netlink.h zebra_fpm.h zebra_fpm_private.h \ > diff --git a/zebra/connected.c b/zebra/connected.c > index 84b0d1c..59cae42 100644 > --- a/zebra/connected.c > +++ b/zebra/connected.c > @@ -30,6 +30,7 @@ > #include "table.h" > #include "log.h" > #include "memory.h" > +#include "zebra_memory.h" > > #include "zebra/zserv.h" > #include "zebra/redistribute.h" > diff --git a/zebra/if_ioctl.c b/zebra/if_ioctl.c > index 8df877d..4f2b9a8 100644 > --- a/zebra/if_ioctl.c > +++ b/zebra/if_ioctl.c > @@ -28,6 +28,7 @@ > #include "ioctl.h" > #include "connected.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "log.h" > #include "vrf.h" > > diff --git a/zebra/if_ioctl_solaris.c b/zebra/if_ioctl_solaris.c > index 50b4aca..b7a489c 100644 > --- a/zebra/if_ioctl_solaris.c > +++ b/zebra/if_ioctl_solaris.c > @@ -28,6 +28,7 @@ > #include "ioctl.h" > #include "connected.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "log.h" > #include "privs.h" > #include "vrf.h" > diff --git a/zebra/if_sysctl.c b/zebra/if_sysctl.c > index bb48f61..6acfaa3 100644 > --- a/zebra/if_sysctl.c > +++ b/zebra/if_sysctl.c > @@ -27,6 +27,7 @@ > #include "prefix.h" > #include "connected.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "ioctl.h" > #include "log.h" > #include "interface.h" > diff --git a/zebra/interface.c b/zebra/interface.c > index 8a9225a..5339216 100644 > --- a/zebra/interface.c > +++ b/zebra/interface.c > @@ -28,6 +28,7 @@ > #include "prefix.h" > #include "command.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "ioctl.h" > #include "connected.h" > #include "log.h" > diff --git a/zebra/irdp_interface.c b/zebra/irdp_interface.c > index 43c63a8..d82fe64 100644 > --- a/zebra/irdp_interface.c > +++ b/zebra/irdp_interface.c > @@ -44,6 +44,7 @@ > #include "prefix.h" > #include "command.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "stream.h" > #include "ioctl.h" > #include "connected.h" > diff --git a/zebra/irdp_main.c b/zebra/irdp_main.c > index cf78a54..941a272 100644 > --- a/zebra/irdp_main.c > +++ b/zebra/irdp_main.c > @@ -45,6 +45,7 @@ > #include "prefix.h" > #include "command.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "stream.h" > #include "ioctl.h" > #include "connected.h" > diff --git a/zebra/irdp_packet.c b/zebra/irdp_packet.c > index 0d31050..c2a75e0 100644 > --- a/zebra/irdp_packet.c > +++ b/zebra/irdp_packet.c > @@ -45,6 +45,7 @@ > #include "prefix.h" > #include "command.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "stream.h" > #include "ioctl.h" > #include "connected.h" > diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c > index 5e68c56..b3c89ca 100644 > --- a/zebra/kernel_socket.c > +++ b/zebra/kernel_socket.c > @@ -27,6 +27,7 @@ > #include "sockunion.h" > #include "connected.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "ioctl.h" > #include "log.h" > #include "str.h" > diff --git a/zebra/main.c b/zebra/main.c > index af33d0c..ee80283 100644 > --- a/zebra/main.c > +++ b/zebra/main.c > @@ -27,6 +27,7 @@ > #include "thread.h" > #include "filter.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "memory_vty.h" > #include "prefix.h" > #include "log.h" > diff --git a/zebra/router-id.c b/zebra/router-id.c > index a4eb73a..efb4915 100644 > --- a/zebra/router-id.c > +++ b/zebra/router-id.c > @@ -30,6 +30,7 @@ > #include "stream.h" > #include "command.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "ioctl.h" > #include "connected.h" > #include "network.h" > diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c > index e4505de..6c4b680 100644 > --- a/zebra/rt_netlink.c > +++ b/zebra/rt_netlink.c > @@ -34,6 +34,7 @@ > #include "connected.h" > #include "table.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "rib.h" > #include "thread.h" > #include "privs.h" > diff --git a/zebra/rtadv.c b/zebra/rtadv.c > index 9450f9a..48870d5 100644 > --- a/zebra/rtadv.c > +++ b/zebra/rtadv.c > @@ -23,6 +23,7 @@ > #include <zebra.h> > > #include "memory.h" > +#include "zebra_memory.h" > #include "sockopt.h" > #include "thread.h" > #include "if.h" > diff --git a/zebra/rtread_sysctl.c b/zebra/rtread_sysctl.c > index 385e150..0297681 100644 > --- a/zebra/rtread_sysctl.c > +++ b/zebra/rtread_sysctl.c > @@ -23,6 +23,7 @@ > #include <zebra.h> > > #include "memory.h" > +#include "zebra_memory.h" > #include "log.h" > #include "vrf.h" > > diff --git a/zebra/test_main.c b/zebra/test_main.c > index f14c675..6aa1701 100644 > --- a/zebra/test_main.c > +++ b/zebra/test_main.c > @@ -25,6 +25,7 @@ > #include "thread.h" > #include "filter.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "memory_vty.h" > #include "prefix.h" > #include "log.h" > diff --git a/zebra/zebra_memory.c b/zebra/zebra_memory.c > new file mode 100644 > index 0000000..557a5cf > --- /dev/null > +++ b/zebra/zebra_memory.c > @@ -0,0 +1,38 @@ > +/* zebra memory type definitions > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include "zebra_memory.h" > + > +DEFINE_MGROUP(ZEBRA, "zebra") > +DEFINE_MTYPE(ZEBRA, RTADV_PREFIX, "Router Advertisement Prefix") > +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, NETLINK_NAME, "Netlink name") > diff --git a/zebra/zebra_memory.h b/zebra/zebra_memory.h > new file mode 100644 > index 0000000..a86311a > --- /dev/null > +++ b/zebra/zebra_memory.h > @@ -0,0 +1,39 @@ > +/* zebra memory type declarations > + * > + * Copyright (C) 2015 David Lamparter > + * > + * This file is part of Quagga. > + * > + * Quagga is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2, or (at your option) any > + * later version. > + * > + * Quagga is distributed in the hope that it will be useful, but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with Quagga; see the file COPYING. If not, write to the Free > + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA > + * 02111-1307, USA. > + */ > + > +#ifndef _QUAGGA_ZEBRA_MEMORY_H > +#define _QUAGGA_ZEBRA_MEMORY_H > + > +#include "memory.h" > + > +DECLARE_MGROUP(ZEBRA) > +DECLARE_MTYPE(RTADV_PREFIX) > +DECLARE_MTYPE(ZEBRA_VRF) > +DECLARE_MTYPE(NEXTHOP) > +DECLARE_MTYPE(RIB) > +DECLARE_MTYPE(RIB_QUEUE) > +DECLARE_MTYPE(STATIC_ROUTE) > +DECLARE_MTYPE(RIB_DEST) > +DECLARE_MTYPE(RIB_TABLE_INFO) > +DECLARE_MTYPE(NETLINK_NAME) > + > +#endif /* _QUAGGA_ZEBRA_MEMORY_H */ > diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c > index 15b7015..5bb87b1 100644 > --- a/zebra/zebra_rib.c > +++ b/zebra/zebra_rib.c > @@ -24,6 +24,7 @@ > #include "prefix.h" > #include "table.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "str.h" > #include "command.h" > #include "if.h" > diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c > index da9cb13..0c39156 100644 > --- a/zebra/zebra_routemap.c > +++ b/zebra/zebra_routemap.c > @@ -22,6 +22,7 @@ > #include <zebra.h> > > #include "memory.h" > +#include "zebra_memory.h" > #include "prefix.h" > #include "rib.h" > #include "routemap.h" > diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c > index 21b92ea..82bf262 100644 > --- a/zebra/zebra_vty.c > +++ b/zebra/zebra_vty.c > @@ -22,6 +22,7 @@ > #include <zebra.h> > > #include "memory.h" > +#include "zebra_memory.h" > #include "if.h" > #include "prefix.h" > #include "command.h" > diff --git a/zebra/zserv.c b/zebra/zserv.c > index 46819f4..c95cd60 100644 > --- a/zebra/zserv.c > +++ b/zebra/zserv.c > @@ -27,6 +27,7 @@ > #include "thread.h" > #include "stream.h" > #include "memory.h" > +#include "zebra_memory.h" > #include "table.h" > #include "rib.h" > #include "network.h" > -- > 2.3.6 > > > _______________________________________________ > Quagga-dev mailing list > [email protected] > https://lists.quagga.net/mailman/listinfo/quagga-dev >
_______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
