diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2015-05-29 05:48:31 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-09-19 22:31:04 +0200 |
commit | 4a1ab8e4050a141d3d7a80b5f8bb27dfd045dae8 (patch) | |
tree | 14b33d958cb88df6195994c78ee74b781e7968a6 /ripd | |
parent | lib: migrate to new memory-type handling (diff) | |
download | frr-4a1ab8e4050a141d3d7a80b5f8bb27dfd045dae8.tar.xz frr-4a1ab8e4050a141d3d7a80b5f8bb27dfd045dae8.zip |
*: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs
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.
bgpd, ospf6d, isisd and some tests were reusing MTYPEs defined in the
library for its own use. This is bad practice and would break when the
memtype are made static.
Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
[CF: rebased for cmaster-next]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'ripd')
-rw-r--r-- | ripd/Makefile.am | 2 | ||||
-rw-r--r-- | ripd/rip_memory.c | 35 | ||||
-rw-r--r-- | ripd/rip_memory.h | 36 | ||||
-rw-r--r-- | ripd/ripd.h | 2 |
4 files changed, 75 insertions, 0 deletions
diff --git a/ripd/Makefile.am b/ripd/Makefile.am index 571a4993d..e7073a790 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 000000000..d2a958064 --- /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 000000000..7aec21930 --- /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 d01d0b6bb..7c77b26d4 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 |