{
if (filter->dlist[i].name)
{
- free (filter->dlist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[i].name);
filter->dlist[i].name = NULL;
}
if (filter->plist[i].name)
{
- free (filter->plist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[i].name);
filter->plist[i].name = NULL;
}
if (filter->aslist[i].name)
{
- free (filter->aslist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[i].name);
filter->aslist[i].name = NULL;
}
}
{
if (filter->map[i].name)
{
- free (filter->map[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[i].name);
filter->map[i].name = NULL;
}
}
/* Clear unsuppress map. */
if (filter->usmap.name)
- free (filter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
filter->usmap.name = NULL;
filter->usmap.map = NULL;
/* Clear neighbor default_originate_rmap */
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
peer->default_rmap[afi][safi].name = NULL;
peer->default_rmap[afi][safi].map = NULL;
/* Free allocated host character. */
if (peer->host)
XFREE (MTYPE_BGP_PEER_HOST, peer->host);
-
+ peer->host = NULL;
+
+ if (peer->ifname)
+ XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
+ peer->ifname = NULL;
+
/* Update source configuration. */
if (peer->update_source)
sockunion_free (peer->update_source);
if (peer->update_if)
XFREE (MTYPE_PEER_UPDATE_SOURCE, peer->update_if);
-
- if (peer->clear_node_queue)
- work_queue_free (peer->clear_node_queue);
-
+
+ if (peer->notify.data)
+ XFREE(MTYPE_TMP, peer->notify.data);
+
bgp_sync_delete (peer);
if (peer->conf_if)
if (peer_src->ifname)
{
if (peer_dst->ifname)
- free(peer_dst->ifname);
+ XFREE(MTYPE_BGP_PEER_IFNAME, peer_dst->ifname);
- peer_dst->ifname = strdup(peer_src->ifname);
+ peer_dst->ifname = XSTRDUP(MTYPE_BGP_PEER_IFNAME, peer_src->ifname);
}
}
{
peer->conf_if = XSTRDUP (MTYPE_PEER_CONF_IF, conf_if);
bgp_peer_conf_if_to_su_update(peer);
+ if (peer->host)
+ XFREE(MTYPE_BGP_PEER_HOST, peer->host);
peer->host = XSTRDUP (MTYPE_BGP_PEER_HOST, conf_if);
}
else if (su)
{
peer->su = *su;
sockunion2str (su, buf, SU_ADDRSTRLEN);
+ if (peer->host)
+ XFREE(MTYPE_BGP_PEER_HOST, peer->host);
peer->host = XSTRDUP (MTYPE_BGP_PEER_HOST, buf);
}
peer->local_as = local_as;
for (i = FILTER_IN; i < FILTER_MAX; i++)
{
if (filter->dlist[i].name)
- free (filter->dlist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[i].name);
if (filter->plist[i].name)
- free (filter->plist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[i].name);
if (filter->aslist[i].name)
- free (filter->aslist[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[i].name);
filter->dlist[i].name = NULL;
filter->plist[i].name = NULL;
for (i = RMAP_IN; i < RMAP_MAX; i++)
{
if (filter->map[i].name)
- free (filter->map[i].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[i].name);
filter->map[i].name = NULL;
}
if (filter->usmap.name)
- free (filter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
filter->usmap.name = NULL;
peer->default_rmap[afi][safi].name = NULL;
static struct peer_group *
peer_group_new (void)
{
- return (struct peer_group *) XCALLOC (MTYPE_PEER_GROUP,
+ return (struct peer_group *) XCALLOC (MTYPE_BGP_PEER_GROUP,
sizeof (struct peer_group));
}
static void
peer_group_free (struct peer_group *group)
{
- XFREE (MTYPE_PEER_GROUP, group);
+ XFREE (MTYPE_BGP_PEER_GROUP, group);
}
struct peer_group *
group = peer_group_new ();
group->bgp = bgp;
- group->name = strdup (name);
+ if (group->name)
+ XFREE(MTYPE_BGP_PEER_GROUP_HOST, group->name);
+ group->name = XSTRDUP(MTYPE_BGP_PEER_GROUP_HOST, name);
group->peer = list_new ();
for (afi = AFI_IP; afi < AFI_MAX; afi++)
group->listen_range[afi] = list_new ();
group->conf = peer_new (bgp);
if (! bgp_flag_check (bgp, BGP_FLAG_NO_DEFAULT_IPV4))
group->conf->afc[AFI_IP][SAFI_UNICAST] = 1;
+ if (group->conf->host)
+ XFREE(MTYPE_BGP_PEER_HOST, group->conf->host);
group->conf->host = XSTRDUP (MTYPE_BGP_PEER_HOST, name);
group->conf->group = group;
group->conf->as = 0;
/* Import policy. */
if (pfilter->map[RMAP_IMPORT].name)
- free (pfilter->map[RMAP_IMPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_IMPORT].name);
if (gfilter->map[RMAP_IMPORT].name)
{
- pfilter->map[RMAP_IMPORT].name = strdup (gfilter->map[RMAP_IMPORT].name);
+ pfilter->map[RMAP_IMPORT].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_IMPORT].name);
pfilter->map[RMAP_IMPORT].map = gfilter->map[RMAP_IMPORT].map;
}
else
/* Export policy. */
if (gfilter->map[RMAP_EXPORT].name && ! pfilter->map[RMAP_EXPORT].name)
{
- pfilter->map[RMAP_EXPORT].name = strdup (gfilter->map[RMAP_EXPORT].name);
+ pfilter->map[RMAP_EXPORT].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_EXPORT].name);
pfilter->map[RMAP_EXPORT].map = gfilter->map[RMAP_EXPORT].map;
}
}
if (conf->default_rmap[afi][safi].name)
{
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
- peer->default_rmap[afi][safi].name = strdup (conf->default_rmap[afi][safi].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, peer->default_rmap[afi][safi].name);
+ peer->default_rmap[afi][safi].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, conf->default_rmap[afi][safi].name);
peer->default_rmap[afi][safi].map = conf->default_rmap[afi][safi].map;
}
else if (conf->update_if)
{
if (peer->update_if)
- XFREE (MTYPE_PEER_UPDATE_SOURCE, peer->update_if);
+ XFREE(MTYPE_PEER_UPDATE_SOURCE, peer->update_if);
if (peer->update_source)
{
sockunion_free (peer->update_source);
if (gfilter->dlist[in].name && ! pfilter->dlist[in].name)
{
if (pfilter->dlist[in].name)
- free (pfilter->dlist[in].name);
- pfilter->dlist[in].name = strdup (gfilter->dlist[in].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->dlist[in].name);
+ pfilter->dlist[in].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->dlist[in].name);
pfilter->dlist[in].alist = gfilter->dlist[in].alist;
}
if (gfilter->plist[in].name && ! pfilter->plist[in].name)
{
if (pfilter->plist[in].name)
- free (pfilter->plist[in].name);
- pfilter->plist[in].name = strdup (gfilter->plist[in].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->plist[in].name);
+ pfilter->plist[in].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->plist[in].name);
pfilter->plist[in].plist = gfilter->plist[in].plist;
}
if (gfilter->aslist[in].name && ! pfilter->aslist[in].name)
{
if (pfilter->aslist[in].name)
- free (pfilter->aslist[in].name);
- pfilter->aslist[in].name = strdup (gfilter->aslist[in].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->aslist[in].name);
+ pfilter->aslist[in].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->aslist[in].name);
pfilter->aslist[in].aslist = gfilter->aslist[in].aslist;
}
if (gfilter->map[RMAP_IN].name && ! pfilter->map[RMAP_IN].name)
{
if (pfilter->map[RMAP_IN].name)
- free (pfilter->map[RMAP_IN].name);
- pfilter->map[RMAP_IN].name = strdup (gfilter->map[RMAP_IN].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_IN].name);
+ pfilter->map[RMAP_IN].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_IN].name);
pfilter->map[RMAP_IN].map = gfilter->map[RMAP_IN].map;
}
if (gfilter->dlist[out].name)
{
if (pfilter->dlist[out].name)
- free (pfilter->dlist[out].name);
- pfilter->dlist[out].name = strdup (gfilter->dlist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->dlist[out].name);
+ pfilter->dlist[out].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->dlist[out].name);
pfilter->dlist[out].alist = gfilter->dlist[out].alist;
}
else
{
if (pfilter->dlist[out].name)
- free (pfilter->dlist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->dlist[out].name);
pfilter->dlist[out].name = NULL;
pfilter->dlist[out].alist = NULL;
}
if (gfilter->plist[out].name)
{
if (pfilter->plist[out].name)
- free (pfilter->plist[out].name);
- pfilter->plist[out].name = strdup (gfilter->plist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->plist[out].name);
+ pfilter->plist[out].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->plist[out].name);
pfilter->plist[out].plist = gfilter->plist[out].plist;
}
else
{
if (pfilter->plist[out].name)
- free (pfilter->plist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->plist[out].name);
pfilter->plist[out].name = NULL;
pfilter->plist[out].plist = NULL;
}
if (gfilter->aslist[out].name)
{
if (pfilter->aslist[out].name)
- free (pfilter->aslist[out].name);
- pfilter->aslist[out].name = strdup (gfilter->aslist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->aslist[out].name);
+ pfilter->aslist[out].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->aslist[out].name);
pfilter->aslist[out].aslist = gfilter->aslist[out].aslist;
}
else
{
if (pfilter->aslist[out].name)
- free (pfilter->aslist[out].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->aslist[out].name);
pfilter->aslist[out].name = NULL;
pfilter->aslist[out].aslist = NULL;
}
if (gfilter->map[RMAP_OUT].name)
{
if (pfilter->map[RMAP_OUT].name)
- free (pfilter->map[RMAP_OUT].name);
- pfilter->map[RMAP_OUT].name = strdup (gfilter->map[RMAP_OUT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_OUT].name);
+ pfilter->map[RMAP_OUT].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_OUT].name);
pfilter->map[RMAP_OUT].map = gfilter->map[RMAP_OUT].map;
}
else
{
if (pfilter->map[RMAP_OUT].name)
- free (pfilter->map[RMAP_OUT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_OUT].name);
pfilter->map[RMAP_OUT].name = NULL;
pfilter->map[RMAP_OUT].map = NULL;
}
if (gfilter->map[RMAP_IMPORT].name)
{
if (pfilter->map[RMAP_IMPORT].name)
- free (pfilter->map[RMAP_IMPORT].name);
- pfilter->map[RMAP_IMPORT].name = strdup (gfilter->map[RMAP_IMPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_IMPORT].name);
+ pfilter->map[RMAP_IMPORT].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_IMPORT].name);
pfilter->map[RMAP_IMPORT].map = gfilter->map[RMAP_IMPORT].map;
}
else
{
if (pfilter->map[RMAP_IMPORT].name)
- free (pfilter->map[RMAP_IMPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_IMPORT].name);
pfilter->map[RMAP_IMPORT].name = NULL;
pfilter->map[RMAP_IMPORT].map = NULL;
}
if (gfilter->map[RMAP_EXPORT].name && ! pfilter->map[RMAP_EXPORT].name)
{
if (pfilter->map[RMAP_EXPORT].name)
- free (pfilter->map[RMAP_EXPORT].name);
- pfilter->map[RMAP_EXPORT].name = strdup (gfilter->map[RMAP_EXPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->map[RMAP_EXPORT].name);
+ pfilter->map[RMAP_EXPORT].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[RMAP_EXPORT].name);
pfilter->map[RMAP_EXPORT].map = gfilter->map[RMAP_EXPORT].map;
}
if (gfilter->usmap.name)
{
if (pfilter->usmap.name)
- free (pfilter->usmap.name);
- pfilter->usmap.name = strdup (gfilter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->usmap.name);
+ pfilter->usmap.name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->usmap.name);
pfilter->usmap.map = gfilter->usmap.map;
}
else
{
if (pfilter->usmap.name)
- free (pfilter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, pfilter->usmap.name);
pfilter->usmap.name = NULL;
pfilter->usmap.map = NULL;
}
list_delete (group->listen_range[afi]);
}
- free (group->name);
+ XFREE(MTYPE_BGP_PEER_HOST, group->name);
group->name = NULL;
group->conf->group = NULL;
/* Import policy. */
if (peer->filter[afi][safi].map[RMAP_IMPORT].name)
{
- free (peer->filter[afi][safi].map[RMAP_IMPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, peer->filter[afi][safi].map[RMAP_IMPORT].name);
peer->filter[afi][safi].map[RMAP_IMPORT].name = NULL;
peer->filter[afi][safi].map[RMAP_IMPORT].map = NULL;
}
if (! CHECK_FLAG(group->conf->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT)
&& peer->filter[afi][safi].map[RMAP_EXPORT].name)
{
- free (peer->filter[afi][safi].map[RMAP_EXPORT].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, peer->filter[afi][safi].map[RMAP_EXPORT].name);
peer->filter[afi][safi].map[RMAP_EXPORT].name = NULL;
peer->filter[afi][safi].map[RMAP_EXPORT].map = NULL;
}
bgp_lock (bgp);
bgp->peer_self = peer_new (bgp);
- bgp->peer_self->host = XSTRDUP (MTYPE_BGP_PEER_HOST, "Static announcement");
-
+ if (bgp->peer_self->host)
+ XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->host);
+ bgp->peer_self->host = XSTRDUP(MTYPE_BGP_PEER_HOST, "Static announcement");
bgp->peer = list_new ();
bgp->peer->cmp = (int (*)(void *, void *)) peer_cmp;
bgp->as = *as;
if (name)
- bgp->name = strdup (name);
+ bgp->name = XSTRDUP(MTYPE_BGP, name);
bgp->wpkt_quanta = BGP_WRITE_PACKET_MAX;
bgp->coalesce_time = BGP_DEFAULT_SUBGROUP_COALESCE_TIME;
list_delete (bgp->rsclient);
if (bgp->name)
- free (bgp->name);
+ XFREE(MTYPE_BGP, bgp->name);
for (afi = AFI_IP; afi < AFI_MAX; afi++)
for (safi = SAFI_UNICAST; safi < SAFI_MAX; safi++)
if (rmap)
{
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
- peer->default_rmap[afi][safi].name = strdup (rmap);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
+ peer->default_rmap[afi][safi].name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap);
peer->default_rmap[afi][safi].map = route_map_lookup_by_name (rmap);
}
}
if (rmap)
{
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
- peer->default_rmap[afi][safi].name = strdup (rmap);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
+ peer->default_rmap[afi][safi].name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap);
peer->default_rmap[afi][safi].map = route_map_lookup_by_name (rmap);
}
UNSET_FLAG (peer->af_flags[afi][safi], PEER_FLAG_DEFAULT_ORIGINATE);
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
peer->default_rmap[afi][safi].name = NULL;
peer->default_rmap[afi][safi].map = NULL;
}
UNSET_FLAG (peer->af_flags[afi][safi], PEER_FLAG_DEFAULT_ORIGINATE);
if (peer->default_rmap[afi][safi].name)
- free (peer->default_rmap[afi][safi].name);
+ XFREE(MTYPE_ROUTE_MAP_NAME, peer->default_rmap[afi][safi].name);
peer->default_rmap[afi][safi].name = NULL;
peer->default_rmap[afi][safi].map = NULL;
peer_interface_set (struct peer *peer, const char *str)
{
if (peer->ifname)
- free (peer->ifname);
- peer->ifname = strdup (str);
+ XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
+ peer->ifname = XSTRDUP(MTYPE_BGP_PEER_IFNAME, str);
}
void
peer_interface_unset (struct peer *peer)
{
if (peer->ifname)
- free (peer->ifname);
+ XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
peer->ifname = NULL;
}
return BGP_ERR_PEER_FILTER_CONFLICT;
if (filter->dlist[direct].name)
- free (filter->dlist[direct].name);
- filter->dlist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[direct].name);
+ filter->dlist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->dlist[direct].alist = access_list_lookup (afi, name);
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
continue;
if (filter->dlist[direct].name)
- free (filter->dlist[direct].name);
- filter->dlist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[direct].name);
+ filter->dlist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->dlist[direct].alist = access_list_lookup (afi, name);
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
if (gfilter->dlist[direct].name)
{
if (filter->dlist[direct].name)
- free (filter->dlist[direct].name);
- filter->dlist[direct].name = strdup (gfilter->dlist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[direct].name);
+ filter->dlist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->dlist[direct].name);
filter->dlist[direct].alist = gfilter->dlist[direct].alist;
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
}
if (filter->dlist[direct].name)
- free (filter->dlist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[direct].name);
filter->dlist[direct].name = NULL;
filter->dlist[direct].alist = NULL;
continue;
if (filter->dlist[direct].name)
- free (filter->dlist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->dlist[direct].name);
filter->dlist[direct].name = NULL;
filter->dlist[direct].alist = NULL;
peer_on_policy_change(peer, afi, safi,
return BGP_ERR_PEER_FILTER_CONFLICT;
if (filter->plist[direct].name)
- free (filter->plist[direct].name);
- filter->plist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[direct].name);
+ filter->plist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->plist[direct].plist = prefix_list_lookup (afi, name);
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
continue;
if (filter->plist[direct].name)
- free (filter->plist[direct].name);
- filter->plist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[direct].name);
+ filter->plist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->plist[direct].plist = prefix_list_lookup (afi, name);
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
if (gfilter->plist[direct].name)
{
if (filter->plist[direct].name)
- free (filter->plist[direct].name);
- filter->plist[direct].name = strdup (gfilter->plist[direct].name);
+ XSTRDUP(MTYPE_BGP_FILTER_NAME, filter->plist[direct].name);
+ filter->plist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->plist[direct].name);
filter->plist[direct].plist = gfilter->plist[direct].plist;
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
}
if (filter->plist[direct].name)
- free (filter->plist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[direct].name);
filter->plist[direct].name = NULL;
filter->plist[direct].plist = NULL;
continue;
if (filter->plist[direct].name)
- free (filter->plist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->plist[direct].name);
filter->plist[direct].name = NULL;
filter->plist[direct].plist = NULL;
peer_on_policy_change(peer, afi, safi,
filter = &peer->filter[afi][safi];
if (filter->aslist[direct].name)
- free (filter->aslist[direct].name);
- filter->aslist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[direct].name);
+ filter->aslist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->aslist[direct].aslist = as_list_lookup (name);
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
continue;
if (filter->aslist[direct].name)
- free (filter->aslist[direct].name);
- filter->aslist[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[direct].name);
+ filter->aslist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->aslist[direct].aslist = as_list_lookup (name);
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
if (gfilter->aslist[direct].name)
{
if (filter->aslist[direct].name)
- free (filter->aslist[direct].name);
- filter->aslist[direct].name = strdup (gfilter->aslist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[direct].name);
+ filter->aslist[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->aslist[direct].name);
filter->aslist[direct].aslist = gfilter->aslist[direct].aslist;
peer_on_policy_change(peer, afi, safi,
(direct == FILTER_OUT) ? 1 : 0);
}
if (filter->aslist[direct].name)
- free (filter->aslist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[direct].name);
filter->aslist[direct].name = NULL;
filter->aslist[direct].aslist = NULL;
continue;
if (filter->aslist[direct].name)
- free (filter->aslist[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->aslist[direct].name);
filter->aslist[direct].name = NULL;
filter->aslist[direct].aslist = NULL;
peer_on_policy_change(peer, afi, safi,
filter = &peer->filter[afi][safi];
if (filter->map[direct].name)
- free (filter->map[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[direct].name);
- filter->map[direct].name = strdup (name);
+ filter->map[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->map[direct].map = route_map_lookup_by_name (name);
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
continue;
if (filter->map[direct].name)
- free (filter->map[direct].name);
- filter->map[direct].name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[direct].name);
+ filter->map[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->map[direct].map = route_map_lookup_by_name (name);
peer_on_policy_change(peer, afi, safi,
(direct == RMAP_OUT) ? 1 : 0);
if (gfilter->map[direct].name)
{
if (filter->map[direct].name)
- free (filter->map[direct].name);
- filter->map[direct].name = strdup (gfilter->map[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[direct].name);
+ filter->map[direct].name = XSTRDUP(MTYPE_BGP_FILTER_NAME, gfilter->map[direct].name);
filter->map[direct].map = gfilter->map[direct].map;
peer_on_policy_change(peer, afi, safi,
(direct == RMAP_OUT) ? 1 : 0);
}
if (filter->map[direct].name)
- free (filter->map[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[direct].name);
filter->map[direct].name = NULL;
filter->map[direct].map = NULL;
continue;
if (filter->map[direct].name)
- free (filter->map[direct].name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->map[direct].name);
filter->map[direct].name = NULL;
filter->map[direct].map = NULL;
peer_on_policy_change(peer, afi, safi,
filter = &peer->filter[afi][safi];
if (filter->usmap.name)
- free (filter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
- filter->usmap.name = strdup (name);
+ filter->usmap.name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->usmap.map = route_map_lookup_by_name (name);
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
continue;
if (filter->usmap.name)
- free (filter->usmap.name);
- filter->usmap.name = strdup (name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
+ filter->usmap.name = XSTRDUP(MTYPE_BGP_FILTER_NAME, name);
filter->usmap.map = route_map_lookup_by_name (name);
peer_on_policy_change(peer, afi, safi, 1);
}
filter = &peer->filter[afi][safi];
if (filter->usmap.name)
- free (filter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
filter->usmap.name = NULL;
filter->usmap.map = NULL;
continue;
if (filter->usmap.name)
- free (filter->usmap.name);
+ XFREE(MTYPE_BGP_FILTER_NAME, filter->usmap.name);
filter->usmap.name = NULL;
filter->usmap.map = NULL;
peer_on_policy_change(peer, afi, safi, 1);