diff --git a/src/vnsw/agent/pkt/test/test_vrf_assign_acl.cc b/src/vnsw/agent/pkt/test/test_vrf_assign_acl.cc index 72e645cd3cf..09d27ced42e 100644 --- a/src/vnsw/agent/pkt/test/test_vrf_assign_acl.cc +++ b/src/vnsw/agent/pkt/test/test_vrf_assign_acl.cc @@ -399,6 +399,10 @@ TEST_F(TestVrfAssignAclFlow, VrfAssignAclWithMirror1) { }; CreateFlow(flow, 1); + FlowEntry *entry = FlowGet(VmPortGet(1)->flow_key_nh()->id(), "1.1.1.1", + "2.1.1.1", IPPROTO_TCP, 10, 20); + EXPECT_TRUE(entry->ksync_entry()->old_first_mirror_index() == 0); + DelLink("virtual-network", "default-project:vn1", "access-control-list", "Acl"); DelAcl("Acl"); client->WaitForIdle(); diff --git a/src/vnsw/agent/vrouter/ksync/flowtable_ksync.h b/src/vnsw/agent/vrouter/ksync/flowtable_ksync.h index 91ed84508b0..5ea607b15be 100644 --- a/src/vnsw/agent/vrouter/ksync/flowtable_ksync.h +++ b/src/vnsw/agent/vrouter/ksync/flowtable_ksync.h @@ -53,12 +53,14 @@ class FlowTableKSyncEntry : public KSyncNetlinkEntry { bool AllowDeleteStateComp() {return false;} virtual void ErrorHandler(int, uint32_t) const; virtual std::string VrouterError(uint32_t error) const; - uint8_t gen_id() { return gen_id_; } void set_gen_id(uint8_t gen_id) { gen_id_ = gen_id; } uint8_t evict_gen_id() { return evict_gen_id_; } void set_evict_gen_id(uint8_t gen_id) { evict_gen_id_ = gen_id; } + uint32_t old_first_mirror_index() { + return old_first_mirror_index_; + } private: friend class KSyncFlowEntryFreeList; friend class KSyncFlowIndexManager; diff --git a/src/vnsw/agent/vrouter/ksync/mirror_ksync.cc b/src/vnsw/agent/vrouter/ksync/mirror_ksync.cc index d1ad4f5a096..71aa8519ab5 100644 --- a/src/vnsw/agent/vrouter/ksync/mirror_ksync.cc +++ b/src/vnsw/agent/vrouter/ksync/mirror_ksync.cc @@ -149,7 +149,7 @@ uint32_t MirrorKSyncObject::GetIdx(std::string analyzer_name) { MirrorKSyncEntry key(this, analyzer_name); KSyncEntry *entry = Find(&key); if (entry) { - entry->GetIndex(); + return entry->GetIndex(); } return MirrorTable::kInvalidIndex; }