diff --git a/lib/vrf.c b/lib/vrf.c index 3a859895e8..5878c1734f 100644 --- a/lib/vrf.c +++ b/lib/vrf.c @@ -528,6 +528,7 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *), static void vrf_terminate_single(struct vrf *vrf) { /* Clear configured flag and invoke delete. */ + vrf_disable(vrf); UNSET_FLAG(vrf->status, VRF_CONFIGURED); if_terminate(vrf); vrf_delete(vrf);