mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 22:26:14 +00:00
zebra: Store actual safi in info pointer and don't free then remalloc
When we call zebra_vrf_table_create, we've already created the info pointer in zebra_router_get_table, so properly set the info->safi and just store the zvrf->table[afi][safi] value. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
c05f659a58
commit
ea66cec488
@ -105,7 +105,7 @@ struct route_table *zebra_router_get_table(struct zebra_vrf *zvrf,
|
||||
info = XCALLOC(MTYPE_RIB_TABLE_INFO, sizeof(*info));
|
||||
info->zvrf = zvrf;
|
||||
info->afi = afi;
|
||||
info->safi = SAFI_UNICAST;
|
||||
info->safi = safi;
|
||||
route_table_set_info(zrt->table, info);
|
||||
zrt->table->cleanup = zebra_rtable_node_cleanup;
|
||||
|
||||
|
@ -370,22 +370,10 @@ static void zebra_rnhtable_node_cleanup(struct route_table *table,
|
||||
static void zebra_vrf_table_create(struct zebra_vrf *zvrf, afi_t afi,
|
||||
safi_t safi)
|
||||
{
|
||||
rib_table_info_t *info;
|
||||
struct route_table *table;
|
||||
|
||||
assert(!zvrf->table[afi][safi]);
|
||||
|
||||
table = zebra_router_get_table(zvrf, zvrf->table_id, afi, safi);
|
||||
|
||||
table->cleanup = zebra_rtable_node_cleanup;
|
||||
zvrf->table[afi][safi] = table;
|
||||
|
||||
XFREE(MTYPE_RIB_TABLE_INFO, table->info);
|
||||
info = XCALLOC(MTYPE_RIB_TABLE_INFO, sizeof(*info));
|
||||
info->zvrf = zvrf;
|
||||
info->afi = afi;
|
||||
info->safi = safi;
|
||||
route_table_set_info(table, info);
|
||||
zvrf->table[afi][safi] =
|
||||
zebra_router_get_table(zvrf, zvrf->table_id, afi, safi);
|
||||
}
|
||||
|
||||
/* Allocate new zebra VRF. */
|
||||
|
Loading…
Reference in New Issue
Block a user