Comment 5 for bug 1547979

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

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

commit 30b41e3698e2561e5a156c01eb327f8bee813871
Author: Prakash Bailkeri <email address hidden>
Date: Mon Feb 22 23:00:25 2016 +0530

Ignore deleted AggregateRoute object while processing IsBestMatch()

Scenario:
routing instance is aggregating 1/8 and 1.0.1/24 route.
At this point, if contributing route 1.0.1.1/32 is added to routing instance,
it will become contributing to 1.0.1/24 and 1.0.1/24 will be contributing route
to 1/8.

Config update is made to remove 1.0.1/24 aggregate route. In a specific order of
delete, 1.0.1.1/32 is notified after it is no longer contributing to 1.0.1/24.
During the notification of this route, if the aggregate route object for 1.0.1/24
is not yet removed from aggregate_route_map_ it is not made as contributing to 1/8.
Due to this bug, at steady state after the config update, no aggregate route will be
published.

Fix the issue by ignoring delete marked AggregateRoute object in IsBestMatch()
Also added UT to verify the issue and fix

Change-Id: Ia107952b876e0ee2a64c817074c677985a74b017
Closes-bug: #1547979