From 54e219bdc3e5daef1287889cc96af2b51372bef2 Mon Sep 17 00:00:00 2001 From: ashoksingh Date: Mon, 16 Jan 2017 11:55:01 +0530 Subject: [PATCH] Send VMI and VM counts from Vrouter UVE. Change-Id: If485d9a994b2caafa1b80a8f82a14b35caf56ca9 Closes-Bug: #1656747 --- src/vnsw/agent/uve/vrouter.sandesh | 12 +++++++++++- src/vnsw/agent/uve/vrouter_uve_entry_base.cc | 12 ++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/vnsw/agent/uve/vrouter.sandesh b/src/vnsw/agent/uve/vrouter.sandesh index febf538229a..7d9067ebb1b 100644 --- a/src/vnsw/agent/uve/vrouter.sandesh +++ b/src/vnsw/agent/uve/vrouter.sandesh @@ -87,6 +87,13 @@ struct AgentInterface { 2: string mac_address; } +/** + * Sandesh definition for count of Agent objects + */ +struct VrouterAgentObjectCount { + 1: u16 active +} + /** * Structure definition for vrouter-agent information */ @@ -158,7 +165,8 @@ struct VrouterAgent { /** Count of total number of virtual-machine-interfaces that are part of * this vrouter */ - 31: optional u16 total_interface_count; + /** @display_name:Vrouter Agent VMI count */ + 31: optional VrouterAgentObjectCount vmi_count (tags="") /** Count of total number of virtual-machine-interfaces that are part of * this vrouter and that are in INACTIVE state */ @@ -218,6 +226,8 @@ struct VrouterAgent { 51: optional string platform; /** Maximum entries supported in each type of object*/ 52: optional agent.VrouterObjectLimits vr_limits; + /** @display_name:Vrouter Agent VM count */ + 53: optional VrouterAgentObjectCount vm_count (tags="") } /** diff --git a/src/vnsw/agent/uve/vrouter_uve_entry_base.cc b/src/vnsw/agent/uve/vrouter_uve_entry_base.cc index d0fff586cc1..483ca254f20 100644 --- a/src/vnsw/agent/uve/vrouter_uve_entry_base.cc +++ b/src/vnsw/agent/uve/vrouter_uve_entry_base.cc @@ -158,6 +158,9 @@ void VrouterUveEntryBase::VmWalkDone(DBTableBase *base, StringVectorPtr list) { VrouterAgent vrouter_agent; vrouter_agent.set_name(agent_->agent_name()); vrouter_agent.set_virtual_machine_list(*(list.get())); + VrouterAgentObjectCount vm_count; + vm_count.set_active(list.get()->size()); + vrouter_agent.set_vm_count(vm_count); DispatchVrouterMsg(vrouter_agent); vm_walk_id_ = DBTableWalker::kInvalidWalkerId; @@ -306,8 +309,9 @@ void VrouterUveEntryBase::InterfaceWalkDone(DBTableBase *base, prev_vrouter_.set_unmanaged_if_list(*(unmanaged_list.get())); } - vrouter_agent.set_total_interface_count((if_list.get()->size() + - nova_if_list.get()->size())); + VrouterAgentObjectCount vmi_count; + vmi_count.set_active((if_list.get()->size() + nova_if_list.get()->size())); + vrouter_agent.set_vmi_count(vmi_count); vrouter_agent.set_down_interface_count((err_if_list.get()->size() + nova_if_list.get()->size())); DispatchVrouterMsg(vrouter_agent); @@ -317,10 +321,6 @@ void VrouterUveEntryBase::InterfaceWalkDone(DBTableBase *base, prev_vrouter_.set_interface_list(*(if_list.get())); prev_vrouter_.set_error_intf_list(*(err_if_list.get())); prev_vrouter_.set_no_config_intf_list(*(nova_if_list.get())); - prev_vrouter_.set_total_interface_count - (vrouter_agent.get_total_interface_count()); - prev_vrouter_.set_down_interface_count - (vrouter_agent.get_down_interface_count()); /* Restart the timer after we are done with the walk */ StartTimer();