#include "vrrp.h"
#include "vrrp_arp.h"
+#include "vrrp_memory.h"
#include "vrrp_ndisc.h"
#include "vrrp_packet.h"
#include "vrrp_zebra.h"
return -1;
}
- struct ipaddr *new = XCALLOC(MTYPE_TMP, sizeof(struct ipaddr));
+ struct ipaddr *new = XCALLOC(MTYPE_VRRP_IP, sizeof(struct ipaddr));
*new = *ip;
listnode_add(r->addrs, new);
static void vrrp_router_addr_list_del_cb(void *val)
{
struct ipaddr *ip = val;
- XFREE(MTYPE_TMP, ip);
+ XFREE(MTYPE_VRRP_IP, ip);
}
/*
static struct vrrp_router *vrrp_router_create(struct vrrp_vrouter *vr,
int family)
{
- struct vrrp_router *r = XCALLOC(MTYPE_TMP, sizeof(struct vrrp_router));
+ struct vrrp_router *r =
+ XCALLOC(MTYPE_VRRP_RTR, sizeof(struct vrrp_router));
r->family = family;
r->sock_rx = -1;
/* FIXME: also delete list elements */
list_delete(&r->addrs);
- XFREE(MTYPE_TMP, r);
+ XFREE(MTYPE_VRRP_RTR, r);
}
struct vrrp_vrouter *vrrp_vrouter_create(struct interface *ifp, uint8_t vrid)
if (vr)
return vr;
- vr = XCALLOC(MTYPE_TMP, sizeof(struct vrrp_vrouter));
+ vr = XCALLOC(MTYPE_VRRP_RTR, sizeof(struct vrrp_vrouter));
vr->ifp = ifp;
vr->vrid = vrid;
vrrp_router_destroy(vr->v4);
vrrp_router_destroy(vr->v6);
hash_release(vrrp_vrouters_hash, vr);
- XFREE(MTYPE_TMP, vr);
+ XFREE(MTYPE_VRRP_RTR, vr);
}
struct vrrp_vrouter *vrrp_lookup(struct interface *ifp, uint8_t vrid)
ssize_t sent = sendto(r->sock_tx, pkt, (size_t)pktlen, 0, &dest.sa,
sockunion_sizeof(&dest));
- XFREE(MTYPE_TMP, pkt);
+ XFREE(MTYPE_VRRP_PKT, pkt);
if (sent < 0) {
zlog_warn(VRRP_LOGPFX VRRP_LOGPFX_VRID
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <zebra.h>
-#include <memory.h>
+
+#include "lib/memory.h"
#include "vrrp_memory.h"
-DEFINE_MGROUP(VRRP, "vrrpd")
+DEFINE_MGROUP(VRRPD, "vrrpd");
+DEFINE_MTYPE(VRRPD, VRRP_IP, "VRRP IP address");
+DEFINE_MTYPE(VRRPD, VRRP_PKT, "VRRP packet");
+DEFINE_MTYPE(VRRPD, VRRP_RTR, "VRRP Router");
#include "lib/memory.h"
#include "vrrp.h"
+#include "vrrp_memory.h"
#include "vrrp_packet.h"
/* clang-format off */
size_t addrsz = v6 ? sizeof(struct in6_addr) : sizeof(struct in_addr);
size_t pktsize = VRRP_PKT_SIZE(v6 ? AF_INET6 : AF_INET, numip);
- *pkt = XCALLOC(MTYPE_TMP, pktsize);
+ *pkt = XCALLOC(MTYPE_VRRP_PKT, pktsize);
(*pkt)->hdr.vertype |= VRRP_VERSION << 4;
(*pkt)->hdr.vertype |= VRRP_TYPE_ADVERTISEMENT;