commit 861864bee9578ce688cda1d59234ea6b755ef60f
Author: Prakash M Bailkeri <email address hidden>
Date: Wed Jan 13 22:22:02 2016 -0800
Fix a corner case with routing instance delete
Sequence of event that causes the crash
1. Static route config deleted
2. Static Route maanger triggers resolve_trigger_ to re-evaluate static
route config
3. Before the resolve trigger is invoked routing instance is deleted
Resolve trigger calls ProcessStaticRouteConfig to apply any pending static
route config. ProcessStaticRouteConfig accesses the NULL config pointer of
the routing instance
Fix:
1. Check whether the routing instance is deleted in ProcessStaticRouteConfig
2. Reset the resolve_trigger_ in StaticRouteMgr destructor
3. Add API to disable resolve_trigger_ and Add UT to test delayed processing
of resolve_trigger_
Reviewed: https:/ /review. opencontrail. org/16290 github. org/Juniper/ contrail- controller/ commit/ 861864bee9578ce 688cda1d59234ea 6b755ef60f
Committed: http://
Submitter: Zuul
Branch: R2.20
commit 861864bee9578ce 688cda1d59234ea 6b755ef60f
Author: Prakash M Bailkeri <email address hidden>
Date: Wed Jan 13 22:22:02 2016 -0800
Fix a corner case with routing instance delete
Sequence of event that causes the crash
1. Static route config deleted
2. Static Route maanger triggers resolve_trigger_ to re-evaluate static
route config
3. Before the resolve trigger is invoked routing instance is deleted
Resolve trigger calls ProcessStaticRo uteConfig to apply any pending static uteConfig accesses the NULL config pointer of
route config. ProcessStaticRo
the routing instance
Fix: uteConfig
1. Check whether the routing instance is deleted in ProcessStaticRo
2. Reset the resolve_trigger_ in StaticRouteMgr destructor
3. Add API to disable resolve_trigger_ and Add UT to test delayed processing
of resolve_trigger_
Change-Id: Icb1b9bad340cce fc9fbab75188034 ade79a6193a
Closes-bug: #1533435