Comment 3 for bug 1630011

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

Reviewed: https://review.opencontrail.org/25636
Committed: http://github.org/Juniper/contrail-controller/commit/ea23d2128217d6939b1b03f70197dc1023818b87
Submitter: Zuul
Branch: master

commit ea23d2128217d6939b1b03f70197dc1023818b87
Author: Manish Singh <email address hidden>
Date: Thu Nov 3 12:43:35 2016 +0530

Agent crash @ FlowMgmtEntry::Delete

Problem:
Note that Flow management module and controller update module run in parallel.
In BGP service flows, to identify flow mgmt tree, CN info is needed.
When a bgp service flow is getting added keys are extracted and then flow is
added. Both these routines use GetCNIndex to identify which bgp service flow
mgmt tree to use. This can cause issue as extraction of keys may have taken some
index but by the time flow node gets added in tree CN which has been picked up
is down. In turn GetCNIndex will return invalid index and flow node does not get
added. Because of CN delete, flow delete request would have been pushed. On
serving delete request key is found but flow node is absent. This results in
crash.

Solution:
During addition of flow node use CN index from key instead of calling
GetCNIndex.

Change-Id: Ifd9adac9cdb4a03e621cf62eff009e3e55d882a5
Closes-bug: #1630011