Comment 17 for bug 1471101

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/12659
Committed: http://github.org/Juniper/contrail-controller/commit/24ee31ba848bb9e87c1cd036cd58f388f1e113ad
Submitter: Zuul
Branch: R2.20

commit 24ee31ba848bb9e87c1cd036cd58f388f1e113ad
Author: Manish <email address hidden>
Date: Thu Jul 16 09:39:56 2015 +0530

Walk on deleted route table when VRF is deleted.

Problem:
When VRF is marked for delete, route tables are deleted from agent however the
pointer is not made NULL(for debugging it is retained). This happens via
Onzerorefcount, where vrf entry(db entry) delete is enqueued later. There can be
a walk going on Vrftable and since this Vrf is not yet deleted and is in queue,
it can be picked up. Once this happens further route table walks in this vrf
will be started. Since route table were deleted these pointer(table) will be
invalid resulting in crash.

Solution:
On route table walk identify if table is deleted and walk need not be done.
To fix use bitmap and reset it once table is deleted.

Change-Id: I3ca5e6eb0eb4fb54ec873242b57a4389448c5279
Closes-bug: 1471101