Issue:
------
Unicast Mac Local Entry used to refer logical switch to
fetch VRF/VN info for route add to oper, so while Addition
it ended up holding reference to Deleted Logical Switch
waiting for it to be resolved, since Logical Switch goes
to DEL_REF_PENDING, it fails to force clean the dependent
Unicast Mac Local Entries due to cyclic dependency,
resulting in dead lock and eventually VRF delete timeout
crash
Fix:
----
Remove Logical Switch dependency from Unicast Mac Local
Entry, to break cyclic dependency
Changes to peer to take VRF and VxLAN id to ensure
KSYNC maps to correct view of vxlan id and vrf for route
add, so that the corresponding route deletes can be
triggered accordingly.
Closes-Bug: 1425458
Closes-Bug: 1433477
(cherry picked from commit 1b45ceb29352fdccb459c6ea7120207709d3726f)
Reviewed: https:/ /review. opencontrail. org/8653 github. org/Juniper/ contrail- controller/ commit/ e594cd696204aaa b4a8150176fa1fc b839dbba3e
Committed: http://
Submitter: Zuul
Branch: R2.1
commit e594cd696204aaa b4a8150176fa1fc b839dbba3e
Author: Prabhjot Singh Sethi <email address hidden>
Date: Tue Mar 24 16:11:05 2015 +0530
Fix for VRF delete Timeout crash
Issue:
------
Unicast Mac Local Entry used to refer logical switch to
fetch VRF/VN info for route add to oper, so while Addition
it ended up holding reference to Deleted Logical Switch
waiting for it to be resolved, since Logical Switch goes
to DEL_REF_PENDING, it fails to force clean the dependent
Unicast Mac Local Entries due to cyclic dependency,
resulting in dead lock and eventually VRF delete timeout
crash
Fix:
----
Remove Logical Switch dependency from Unicast Mac Local
Entry, to break cyclic dependency
Changes to peer to take VRF and VxLAN id to ensure
KSYNC maps to correct view of vxlan id and vrf for route
add, so that the corresponding route deletes can be
triggered accordingly.
Closes-Bug: 1425458 cb459c6ea712020 7709d3726f)
Closes-Bug: 1433477
(cherry picked from commit 1b45ceb29352fdc
Change-Id: Iae86e6e12b7b68 49e698d4994c79b 2f95067ecbe