rfg = XCALLOC(MTYPE_RFAPI_GROUP_CFG,
sizeof(struct rfapi_nve_group_cfg));
rfg->type = type;
- rfg->name = strdup(name);
+ rfg->name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG, name);
/* add to tail of list */
listnode_add(bgp->rfapi_cfg->nve_groups_sequential, rfg);
rfg->label = MPLS_LABEL_NONE;
if (bgp->rfapi_cfg->redist_bgp_exterior_view_name) {
VNC_REDIST_DISABLE(bgp, afi,
type); /* disabled view implicitly */
- free(bgp->rfapi_cfg->redist_bgp_exterior_view_name);
- bgp->rfapi_cfg->redist_bgp_exterior_view_name = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ bgp->rfapi_cfg->redist_bgp_exterior_view_name);
}
bgp->rfapi_cfg->redist_bgp_exterior_view = bgp;
}
VNC_REDIST_DISABLE(bgp, afi, type);
if (type == ZEBRA_ROUTE_BGP_DIRECT_EXT) {
- if (bgp->rfapi_cfg->redist_bgp_exterior_view_name) {
- free(bgp->rfapi_cfg->redist_bgp_exterior_view_name);
- bgp->rfapi_cfg->redist_bgp_exterior_view_name = NULL;
- }
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ bgp->rfapi_cfg->redist_bgp_exterior_view_name);
bgp->rfapi_cfg->redist_bgp_exterior_view = NULL;
}
return CMD_WARNING_CONFIG_FAILED;
}
- if (bgp->rfapi_cfg->redist_bgp_exterior_view_name)
- free(bgp->rfapi_cfg->redist_bgp_exterior_view_name);
- bgp->rfapi_cfg->redist_bgp_exterior_view_name = strdup(argv[5]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ bgp->rfapi_cfg->redist_bgp_exterior_view_name);
+ bgp->rfapi_cfg->redist_bgp_exterior_view_name =
+ XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[5]->arg);
/* could be NULL if name is not defined yet */
bgp->rfapi_cfg->redist_bgp_exterior_view =
bgp_lookup_by_name(argv[5]->arg);
*/
bgp->rfapi_cfg->rfg_redist = bgp_rfapi_cfg_match_byname(
bgp, argv[3]->arg, RFAPI_GROUP_CFG_NVE);
- if (bgp->rfapi_cfg->rfg_redist_name)
- free(bgp->rfapi_cfg->rfg_redist_name);
- bgp->rfapi_cfg->rfg_redist_name = strdup(argv[3]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, bgp->rfapi_cfg->rfg_redist_name);
+ bgp->rfapi_cfg->rfg_redist_name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[3]->arg);
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
bgp->rfapi_cfg->rfg_redist = NULL;
- if (bgp->rfapi_cfg->rfg_redist_name)
- free(bgp->rfapi_cfg->rfg_redist_name);
- bgp->rfapi_cfg->rfg_redist_name = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG, bgp->rfapi_cfg->rfg_redist_name);
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
- if (hc->plist_redist_name[route_type][afi])
- free(hc->plist_redist_name[route_type][afi]);
- hc->plist_redist_name[route_type][afi] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->plist_redist_name[route_type][afi]);
hc->plist_redist[route_type][afi] = NULL;
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
- if (hc->plist_redist_name[route_type][afi])
- free(hc->plist_redist_name[route_type][afi]);
- hc->plist_redist_name[route_type][afi] = strdup(argv[5]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->plist_redist_name[route_type][afi]);
+ hc->plist_redist_name[route_type][afi] = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[5]->arg);
hc->plist_redist[route_type][afi] =
prefix_list_lookup(afi, argv[5]->arg);
vnc_redistribute_prechange(bgp);
- if (hc->routemap_redist_name[route_type])
- free(hc->routemap_redist_name[route_type]);
- hc->routemap_redist_name[route_type] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->routemap_redist_name[route_type]);
hc->routemap_redist[route_type] = NULL;
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
- if (hc->routemap_redist_name[route_type])
- free(hc->routemap_redist_name[route_type]);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->routemap_redist_name[route_type]);
/* If the old route map config overwrite with new
* route map config , old routemap counter have to be
* reduced.
*/
route_map_counter_decrement(hc->routemap_redist[route_type]);
- hc->routemap_redist_name[route_type] = strdup(argv[4]->arg);
+ hc->routemap_redist_name[route_type] = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[4]->arg);
+
hc->routemap_redist[route_type] =
route_map_lookup_by_name(argv[4]->arg);
route_map_counter_increment(hc->routemap_redist[route_type]);
vnc_redistribute_prechange(bgp);
- if (rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi])
- free(rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi]);
- rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi]);
rfg->plist_redist[ZEBRA_ROUTE_BGP_DIRECT][afi] = NULL;
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
- if (rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi])
- free(rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi]);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi]);
rfg->plist_redist_name[ZEBRA_ROUTE_BGP_DIRECT][afi] =
- strdup(argv[4]->arg);
+ XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[4]->arg);
rfg->plist_redist[ZEBRA_ROUTE_BGP_DIRECT][afi] =
prefix_list_lookup(afi, argv[4]->arg);
vnc_redistribute_prechange(bgp);
- if (rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT])
- free(rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT]);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT]);
route_map_counter_decrement(
rfg->routemap_redist[ZEBRA_ROUTE_BGP_DIRECT]);
- rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT] = NULL;
rfg->routemap_redist[ZEBRA_ROUTE_BGP_DIRECT] = NULL;
vnc_redistribute_postchange(bgp);
vnc_redistribute_prechange(bgp);
- if (rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT])
- free(rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT]);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT]);
route_map_counter_decrement(
rfg->routemap_redist[ZEBRA_ROUTE_BGP_DIRECT]);
rfg->routemap_redist_name[ZEBRA_ROUTE_BGP_DIRECT] =
- strdup(argv[3]->arg);
+ XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[3]->arg);
rfg->routemap_redist[ZEBRA_ROUTE_BGP_DIRECT] =
route_map_lookup_by_name(argv[3]->arg);
route_map_counter_increment(
}
rfgn = rfgn_new();
- rfgn->name = strdup(argv[5]->arg);
+ rfgn->name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[5]->arg);
rfgn->rfg = rfg_new; /* OK if not set yet */
listnode_add(bgp->rfapi_cfg->rfg_export_direct_bgp_l, rfgn);
}
rfgn = rfgn_new();
- rfgn->name = strdup(argv[5]->arg);
+ rfgn->name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[5]->arg);
rfgn->rfg = rfg_new; /* OK if not set yet */
listnode_add(bgp->rfapi_cfg->rfg_export_zebra_l, rfgn);
if (rfgn->rfg)
vnc_direct_bgp_del_group(bgp,
rfgn->rfg);
- free(rfgn->name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfgn->name);
list_delete_node(
bgp->rfapi_cfg->rfg_export_direct_bgp_l,
node);
if (rfgn->name && !strcmp(rfgn->name, argv[6]->arg)) {
if (rfgn->rfg)
vnc_zebra_del_group(bgp, rfgn->rfg);
- free(rfgn->name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfgn->name);
list_delete_node(
bgp->rfapi_cfg->rfg_export_zebra_l,
node);
|| (rfg->plist_export_zebra_name[afi]
&& strmatch(argv[idx]->arg,
rfg->plist_export_zebra_name[afi]))) {
- if (rfg->plist_export_zebra_name[afi])
- free(rfg->plist_export_zebra_name[afi]);
- rfg->plist_export_zebra_name[afi] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->plist_export_zebra_name[afi]);
rfg->plist_export_zebra[afi] = NULL;
vnc_zebra_reexport_group_afi(bgp, rfg, afi);
idx = argc - 1;
if (is_bgp) {
- if (rfg->plist_export_bgp_name[afi])
- free(rfg->plist_export_bgp_name[afi]);
- rfg->plist_export_bgp_name[afi] = strdup(argv[idx]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->plist_export_bgp_name[afi]);
+ rfg->plist_export_bgp_name[afi] = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[idx]->arg);
rfg->plist_export_bgp[afi] =
prefix_list_lookup(afi, argv[idx]->arg);
vnc_direct_bgp_reexport_group_afi(bgp, rfg, afi);
} else {
- if (rfg->plist_export_zebra_name[afi])
- free(rfg->plist_export_zebra_name[afi]);
- rfg->plist_export_zebra_name[afi] = strdup(argv[idx]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->plist_export_zebra_name[afi]);
+ rfg->plist_export_zebra_name[afi] =
+ XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[idx]->arg);
rfg->plist_export_zebra[afi] =
prefix_list_lookup(afi, argv[idx]->arg);
|| (rfg->routemap_export_bgp_name
&& strmatch(argv[idx]->arg,
rfg->routemap_export_bgp_name))) {
- if (rfg->routemap_export_bgp_name)
- free(rfg->routemap_export_bgp_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ rfg->routemap_export_bgp_name);
route_map_counter_decrement(rfg->routemap_export_bgp);
- rfg->routemap_export_bgp_name = NULL;
rfg->routemap_export_bgp = NULL;
vnc_direct_bgp_reexport_group_afi(bgp, rfg, AFI_IP);
|| (rfg->routemap_export_zebra_name
&& strmatch(argv[idx]->arg,
rfg->routemap_export_zebra_name))) {
- if (rfg->routemap_export_zebra_name)
- free(rfg->routemap_export_zebra_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->routemap_export_zebra_name);
route_map_counter_decrement(rfg->routemap_export_zebra);
- rfg->routemap_export_zebra_name = NULL;
rfg->routemap_export_zebra = NULL;
vnc_zebra_reexport_group_afi(bgp, rfg, AFI_IP);
idx = argc - 1;
if (is_bgp) {
- if (rfg->routemap_export_bgp_name)
- free(rfg->routemap_export_bgp_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->routemap_export_bgp_name);
route_map_counter_decrement(rfg->routemap_export_bgp);
- rfg->routemap_export_bgp_name = strdup(argv[idx]->arg);
+ rfg->routemap_export_bgp_name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[idx]->arg);
rfg->routemap_export_bgp =
route_map_lookup_by_name(argv[idx]->arg);
route_map_counter_increment(rfg->routemap_export_bgp);
vnc_direct_bgp_reexport_group_afi(bgp, rfg, AFI_IP);
vnc_direct_bgp_reexport_group_afi(bgp, rfg, AFI_IP6);
} else {
- if (rfg->routemap_export_zebra_name)
- free(rfg->routemap_export_zebra_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->routemap_export_zebra_name);
route_map_counter_decrement(rfg->routemap_export_zebra);
- rfg->routemap_export_zebra_name = strdup(argv[idx]->arg);
+ rfg->routemap_export_zebra_name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[idx]->arg);
rfg->routemap_export_zebra =
route_map_lookup_by_name(argv[idx]->arg);
route_map_counter_increment(rfg->routemap_export_zebra);
if (((argc > 6) && hc->plist_export_bgp_name[afi]
&& strmatch(argv[6]->text, hc->plist_export_bgp_name[afi]))
|| (argc <= 6)) {
-
- free(hc->plist_export_bgp_name[afi]);
- hc->plist_export_bgp_name[afi] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ hc->plist_export_bgp_name[afi]);
hc->plist_export_bgp[afi] = NULL;
vnc_direct_bgp_reexport(bgp, afi);
}
&& strmatch(argv[6]->text,
hc->plist_export_zebra_name[afi]))
|| (argc <= 6)) {
-
- free(hc->plist_export_zebra_name[afi]);
- hc->plist_export_zebra_name[afi] = NULL;
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ hc->plist_export_zebra_name[afi]);
hc->plist_export_zebra[afi] = NULL;
/* TBD vnc_zebra_rh_reexport(bgp, afi); */
}
}
if (argv[2]->arg[0] == 'b') {
- if (hc->plist_export_bgp_name[afi])
- free(hc->plist_export_bgp_name[afi]);
- hc->plist_export_bgp_name[afi] = strdup(argv[5]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->plist_export_bgp_name[afi]);
+ hc->plist_export_bgp_name[afi] = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[5]->arg);
hc->plist_export_bgp[afi] =
prefix_list_lookup(afi, argv[5]->arg);
vnc_direct_bgp_reexport(bgp, afi);
} else {
- if (hc->plist_export_zebra_name[afi])
- free(hc->plist_export_zebra_name[afi]);
- hc->plist_export_zebra_name[afi] = strdup(argv[5]->arg);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->plist_export_zebra_name[afi]);
+ hc->plist_export_zebra_name[afi] =
+ XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[5]->arg);
hc->plist_export_zebra[afi] =
prefix_list_lookup(afi, argv[5]->arg);
/* TBD vnc_zebra_rh_reexport(bgp, afi); */
if (((argc > 5) && hc->routemap_export_bgp_name
&& strmatch(argv[5]->text, hc->routemap_export_bgp_name))
|| (argc <= 5)) {
-
- free(hc->routemap_export_bgp_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG,
+ hc->routemap_export_bgp_name);
route_map_counter_decrement(hc->routemap_export_bgp);
- hc->routemap_export_bgp_name = NULL;
hc->routemap_export_bgp = NULL;
vnc_direct_bgp_reexport(bgp, AFI_IP);
vnc_direct_bgp_reexport(bgp, AFI_IP6);
&& strmatch(argv[5]->text, hc->routemap_export_zebra_name))
|| (argc <= 5)) {
- free(hc->routemap_export_zebra_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->routemap_export_zebra_name);
route_map_counter_decrement(hc->routemap_export_zebra);
- hc->routemap_export_zebra_name = NULL;
hc->routemap_export_zebra = NULL;
/* TBD vnc_zebra_rh_reexport(bgp, AFI_IP); */
/* TBD vnc_zebra_rh_reexport(bgp, AFI_IP6); */
hc = bgp->rfapi_cfg;
if (argv[2]->arg[0] == 'b') {
- if (hc->routemap_export_bgp_name)
- free(hc->routemap_export_bgp_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->routemap_export_bgp_name);
route_map_counter_decrement(hc->routemap_export_bgp);
- hc->routemap_export_bgp_name = strdup(argv[4]->arg);
+ hc->routemap_export_bgp_name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[4]->arg);
hc->routemap_export_bgp =
route_map_lookup_by_name(argv[4]->arg);
route_map_counter_increment(hc->routemap_export_bgp);
vnc_direct_bgp_reexport(bgp, AFI_IP);
vnc_direct_bgp_reexport(bgp, AFI_IP6);
} else {
- if (hc->routemap_export_zebra_name)
- free(hc->routemap_export_zebra_name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, hc->routemap_export_zebra_name);
route_map_counter_decrement(hc->routemap_export_zebra);
- hc->routemap_export_zebra_name = strdup(argv[4]->arg);
+ hc->routemap_export_zebra_name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG,
+ argv[4]->arg);
hc->routemap_export_zebra =
route_map_lookup_by_name(argv[4]->arg);
route_map_counter_increment(hc->routemap_export_zebra);
}
/* delete it */
- free(rfg->name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->name);
if (rfg->rfapi_import_table)
rfapiImportTableRefDelByIt(bgp, rfg->rfapi_import_table);
if (rfg->rt_import_list)
vty_out(vty, "Can't allocate memory for L2 group\n");
return CMD_WARNING_CONFIG_FAILED;
}
- rfg->name = strdup(argv[2]->arg);
+ rfg->name = XSTRDUP(MTYPE_RFAPI_GROUP_CFG, argv[2]->arg);
/* add to tail of list */
listnode_add(bgp->rfapi_cfg->l2_groups, rfg);
}
struct rfapi_l2_group_cfg *rfg)
{
/* delete it */
- free(rfg->name);
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfg->name);
if (rfg->rt_import_list)
ecommunity_free(&rfg->rt_import_list);
if (rfg->rt_export_list)
static void bgp_rfapi_rfgn_list_delete(void *data)
{
struct rfapi_rfg_name *rfgn = data;
- free(rfgn->name);
+
+ XFREE(MTYPE_RFAPI_GROUP_CFG, rfgn->name);
rfgn_free(rfgn);
}