From 47f0fa5b9a60d62d1e2b990904b7693917afa10d Mon Sep 17 00:00:00 2001 From: jayaramsatya Date: Wed, 24 Feb 2016 16:19:53 +0530 Subject: [PATCH] when ever interface object is getting created which has analyzer attached to it then interface entry depends on mirror entry to present. if the mirror entry is not resolved we are adding mirror entry in temp state. closes-bug: #1547531 Change-Id: I34a56df5cf957e5be00976e7f9978b1414c19033 --- src/vnsw/agent/vrouter/ksync/interface_ksync.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/vnsw/agent/vrouter/ksync/interface_ksync.cc b/src/vnsw/agent/vrouter/ksync/interface_ksync.cc index 71438451abf..bf6d1d62856 100644 --- a/src/vnsw/agent/vrouter/ksync/interface_ksync.cc +++ b/src/vnsw/agent/vrouter/ksync/interface_ksync.cc @@ -448,6 +448,16 @@ KSyncEntry *InterfaceKSyncEntry::UnresolvedReference() { return parent_.get(); } + if (!analyzer_name_.empty()) { + MirrorKSyncObject *mirror_object = + ksync_obj_->ksync()->mirror_ksync_obj(); + MirrorKSyncEntry mksync1(mirror_object, analyzer_name_); + MirrorKSyncEntry *mirror = + static_cast(mirror_object->GetReference(&mksync1)); + if (mirror && !mirror->IsResolved()) { + return mirror; + } + } return NULL; }