struct peer *peer;
struct peer_group *group;
struct listnode *node, *next;
- struct vrf *vrf;
afi_t afi;
int i;
/* Free interfaces in this instance. */
bgp_if_finish (bgp);
- /* If Default instance or VRF, unlink from the VRF structure. */
- vrf = bgp_vrf_lookup_by_instance_type (bgp);
- if (vrf)
- bgp_vrf_unlink (bgp, vrf);
-
thread_master_free_unused(bm->master);
bgp_unlock(bgp); /* initial reference */
{
afi_t afi;
safi_t safi;
+ struct vrf *vrf;
list_delete (bgp->group);
list_delete (bgp->peer);
if (bgp->rib[afi][safi])
bgp_table_finish (&bgp->rib[afi][safi]);
}
+
+ /* If Default instance or VRF, unlink from the VRF structure. */
+ vrf = bgp_vrf_lookup_by_instance_type (bgp);
+ if (vrf)
+ bgp_vrf_unlink (bgp, vrf);
+
XFREE (MTYPE_BGP, bgp);
}