OpenSDN source code
VrouterUveEntryBase Class Reference

#include <vrouter_uve_entry_base.h>

Inheritance diagram for VrouterUveEntryBase:
Collaboration diagram for VrouterUveEntryBase:

Classes

struct  VrouterPhysicalDeviceState
 
struct  VrouterUveInterfaceState
 

Public Types

typedef std::set< const Interface * > PhysicalInterfaceSet
 
typedef boost::shared_ptr< std::vector< std::string > > StringVectorPtr
 

Public Member Functions

 VrouterUveEntryBase (Agent *agent)
 
virtual ~VrouterUveEntryBase ()
 
void RegisterDBClients ()
 
void Shutdown ()
 
bool AppendVm (DBTablePartBase *part, DBEntryBase *e, StringVectorPtr l)
 
void VmWalkDone (DBTableBase *base, StringVectorPtr list)
 
bool AppendVn (DBTablePartBase *part, DBEntryBase *e, StringVectorPtr l)
 
void VnWalkDone (DBTableBase *base, StringVectorPtr list)
 
bool AppendInterface (DBTablePartBase *part, DBEntryBase *entry, StringVectorPtr intf_list, StringVectorPtr err_list, StringVectorPtr nova_if_list, StringVectorPtr unmanaged_list)
 
void InterfaceWalkDone (DBTableBase *base, StringVectorPtr if_l, StringVectorPtr err_if_l, StringVectorPtr nova_if_l, StringVectorPtr unmanaged_list)
 
virtual bool SendVrouterMsg ()
 
void SendVrouterProuterAssociation (const std::vector< std::string > &list)
 
bool TimerExpiry ()
 

Static Public Attributes

static const uint8_t bandwidth_mod_1min = 2
 
static const uint8_t bandwidth_mod_5min = 10
 

Protected Member Functions

virtual void DispatchVrouterStatsMsg (const VrouterStatsAgent &uve)
 
virtual void DispatchComputeCpuStateMsg (const ComputeCpuState &ccs)
 

Protected Attributes

Agentagent_
 
PhysicalInterfaceSet phy_intf_set_
 
VrouterStatsAgent prev_stats_
 
VrouterAgent prev_vrouter_
 
uint8_t cpu_stats_count_
 
bool do_vn_walk_
 
bool do_vm_walk_
 
bool do_interface_walk_
 
DBTable::DBTableWalkRef vn_walk_ref_
 
DBTable::DBTableWalkRef vm_walk_ref_
 
DBTable::DBTableWalkRef interface_walk_ref_
 

Private Member Functions

virtual void DispatchVrouterMsg (const VrouterAgent &uve)
 
void BuildAndSendComputeCpuStateMsg (const CpuLoadInfo &info)
 
void PhysicalDeviceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void InterfaceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void VmNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void VnNotify (DBTablePartBase *partition, DBEntryBase *e)
 
bool StartVnWalk ()
 
bool StartVmWalk ()
 
bool StartInterfaceWalk ()
 
void StartTimer ()
 
bool Run ()
 
std::string GetMacAddress (const MacAddress &mac) const
 
void SubnetToStringList (VirtualGatewayConfig::SubnetList &l1, std::vector< std::string > &l2)
 
void BuildAgentConfig (VrouterAgent &vrouter_agent)
 
void AppendInterfaceInternal (const VmInterface *port, StringVectorPtr intf_list, StringVectorPtr err_if_list)
 
PhysicalDeviceVmiToPhysicalDevice (const VmInterface *port)
 
PhysicalDeviceInterfaceToPhysicalDevice (Interface *intf)
 
 DISALLOW_COPY_AND_ASSIGN (VrouterUveEntryBase)
 

Private Attributes

DBTableBase::ListenerId vn_listener_id_
 
DBTableBase::ListenerId vm_listener_id_
 
DBTableBase::ListenerId intf_listener_id_
 
DBTableBase::ListenerId physical_device_listener_id_
 
Timertimer_
 

Detailed Description

Definition at line 21 of file vrouter_uve_entry_base.h.

Member Typedef Documentation

◆ PhysicalInterfaceSet

Definition at line 38 of file vrouter_uve_entry_base.h.

◆ StringVectorPtr

typedef boost::shared_ptr<std::vector<std::string> > VrouterUveEntryBase::StringVectorPtr

Definition at line 39 of file vrouter_uve_entry_base.h.

Constructor & Destructor Documentation

◆ VrouterUveEntryBase()

VrouterUveEntryBase::VrouterUveEntryBase ( Agent agent)

Definition at line 27 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ ~VrouterUveEntryBase()

VrouterUveEntryBase::~VrouterUveEntryBase ( )
virtual

Definition at line 42 of file vrouter_uve_entry_base.cc.

Member Function Documentation

◆ AppendInterface()

bool VrouterUveEntryBase::AppendInterface ( DBTablePartBase part,
DBEntryBase entry,
StringVectorPtr  intf_list,
StringVectorPtr  err_list,
StringVectorPtr  nova_if_list,
StringVectorPtr  unmanaged_list 
)

Definition at line 330 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ AppendInterfaceInternal()

void VrouterUveEntryBase::AppendInterfaceInternal ( const VmInterface port,
StringVectorPtr  intf_list,
StringVectorPtr  err_if_list 
)
private

Definition at line 380 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ AppendVm()

bool VrouterUveEntryBase::AppendVm ( DBTablePartBase part,
DBEntryBase e,
StringVectorPtr  l 
)

Definition at line 173 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ AppendVn()

bool VrouterUveEntryBase::AppendVn ( DBTablePartBase part,
DBEntryBase e,
StringVectorPtr  l 
)

Definition at line 248 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ BuildAgentConfig()

void VrouterUveEntryBase::BuildAgentConfig ( VrouterAgent &  vrouter_agent)
private

Definition at line 536 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ BuildAndSendComputeCpuStateMsg()

void VrouterUveEntryBase::BuildAndSendComputeCpuStateMsg ( const CpuLoadInfo &  info)
private

Definition at line 908 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

VrouterUveEntryBase::DISALLOW_COPY_AND_ASSIGN ( VrouterUveEntryBase  )
private

◆ DispatchComputeCpuStateMsg()

void VrouterUveEntryBase::DispatchComputeCpuStateMsg ( const ComputeCpuState &  ccs)
protectedvirtual

Definition at line 904 of file vrouter_uve_entry_base.cc.

◆ DispatchVrouterMsg()

void VrouterUveEntryBase::DispatchVrouterMsg ( const VrouterAgent &  uve)
privatevirtual

Definition at line 150 of file vrouter_uve_entry_base.cc.

◆ DispatchVrouterStatsMsg()

void VrouterUveEntryBase::DispatchVrouterStatsMsg ( const VrouterStatsAgent &  uve)
protectedvirtual

Definition at line 900 of file vrouter_uve_entry_base.cc.

◆ GetMacAddress()

string VrouterUveEntryBase::GetMacAddress ( const MacAddress mac) const
private

Definition at line 896 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ InterfaceNotify()

void VrouterUveEntryBase::InterfaceNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 441 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ InterfaceToPhysicalDevice()

PhysicalDevice * VrouterUveEntryBase::InterfaceToPhysicalDevice ( Interface intf)
private

Definition at line 405 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ InterfaceWalkDone()

void VrouterUveEntryBase::InterfaceWalkDone ( DBTableBase base,
StringVectorPtr  if_l,
StringVectorPtr  err_if_l,
StringVectorPtr  nova_if_l,
StringVectorPtr  unmanaged_list 
)

Definition at line 295 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ PhysicalDeviceNotify()

void VrouterUveEntryBase::PhysicalDeviceNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 81 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ RegisterDBClients()

void VrouterUveEntryBase::RegisterDBClients ( )

Definition at line 106 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ Run()

bool VrouterUveEntryBase::Run ( void  )
private

Definition at line 56 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ SendVrouterMsg()

bool VrouterUveEntryBase::SendVrouterMsg ( )
virtual

Reimplemented in VrouterUveEntry.

Definition at line 626 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ SendVrouterProuterAssociation()

void VrouterUveEntryBase::SendVrouterProuterAssociation ( const std::vector< std::string > &  list)

Definition at line 882 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ Shutdown()

void VrouterUveEntryBase::Shutdown ( void  )

Definition at line 124 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ StartInterfaceWalk()

bool VrouterUveEntryBase::StartInterfaceWalk ( )
private

Definition at line 419 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ StartTimer()

void VrouterUveEntryBase::StartTimer ( )
private

Definition at line 45 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ StartVmWalk()

bool VrouterUveEntryBase::StartVmWalk ( )
private

Definition at line 185 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ StartVnWalk()

bool VrouterUveEntryBase::StartVnWalk ( )
private

Definition at line 258 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ SubnetToStringList()

void VrouterUveEntryBase::SubnetToStringList ( VirtualGatewayConfig::SubnetList l1,
std::vector< std::string > &  l2 
)
private

Definition at line 524 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ TimerExpiry()

bool VrouterUveEntryBase::TimerExpiry ( )

Definition at line 51 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ VmiToPhysicalDevice()

PhysicalDevice * VrouterUveEntryBase::VmiToPhysicalDevice ( const VmInterface port)
private

Definition at line 389 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ VmNotify()

void VrouterUveEntryBase::VmNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 201 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ VmWalkDone()

void VrouterUveEntryBase::VmWalkDone ( DBTableBase base,
StringVectorPtr  list 
)

Definition at line 154 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ VnNotify()

void VrouterUveEntryBase::VnNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 275 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

◆ VnWalkDone()

void VrouterUveEntryBase::VnWalkDone ( DBTableBase base,
StringVectorPtr  list 
)

Definition at line 222 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

Member Data Documentation

◆ agent_

Agent* VrouterUveEntryBase::agent_
protected

Definition at line 63 of file vrouter_uve_entry_base.h.

◆ bandwidth_mod_1min

const uint8_t VrouterUveEntryBase::bandwidth_mod_1min = 2
static

Definition at line 36 of file vrouter_uve_entry_base.h.

◆ bandwidth_mod_5min

const uint8_t VrouterUveEntryBase::bandwidth_mod_5min = 10
static

Definition at line 37 of file vrouter_uve_entry_base.h.

◆ cpu_stats_count_

uint8_t VrouterUveEntryBase::cpu_stats_count_
protected

Definition at line 67 of file vrouter_uve_entry_base.h.

◆ do_interface_walk_

bool VrouterUveEntryBase::do_interface_walk_
protected

Definition at line 70 of file vrouter_uve_entry_base.h.

◆ do_vm_walk_

bool VrouterUveEntryBase::do_vm_walk_
protected

Definition at line 69 of file vrouter_uve_entry_base.h.

◆ do_vn_walk_

bool VrouterUveEntryBase::do_vn_walk_
protected

Definition at line 68 of file vrouter_uve_entry_base.h.

◆ interface_walk_ref_

DBTable::DBTableWalkRef VrouterUveEntryBase::interface_walk_ref_
protected

Definition at line 73 of file vrouter_uve_entry_base.h.

◆ intf_listener_id_

DBTableBase::ListenerId VrouterUveEntryBase::intf_listener_id_
private

Definition at line 104 of file vrouter_uve_entry_base.h.

◆ phy_intf_set_

PhysicalInterfaceSet VrouterUveEntryBase::phy_intf_set_
protected

Definition at line 64 of file vrouter_uve_entry_base.h.

◆ physical_device_listener_id_

DBTableBase::ListenerId VrouterUveEntryBase::physical_device_listener_id_
private

Definition at line 105 of file vrouter_uve_entry_base.h.

◆ prev_stats_

VrouterStatsAgent VrouterUveEntryBase::prev_stats_
protected

Definition at line 65 of file vrouter_uve_entry_base.h.

◆ prev_vrouter_

VrouterAgent VrouterUveEntryBase::prev_vrouter_
protected

Definition at line 66 of file vrouter_uve_entry_base.h.

◆ timer_

Timer* VrouterUveEntryBase::timer_
private

Definition at line 106 of file vrouter_uve_entry_base.h.

◆ vm_listener_id_

DBTableBase::ListenerId VrouterUveEntryBase::vm_listener_id_
private

Definition at line 103 of file vrouter_uve_entry_base.h.

◆ vm_walk_ref_

DBTable::DBTableWalkRef VrouterUveEntryBase::vm_walk_ref_
protected

Definition at line 72 of file vrouter_uve_entry_base.h.

◆ vn_listener_id_

DBTableBase::ListenerId VrouterUveEntryBase::vn_listener_id_
private

Definition at line 102 of file vrouter_uve_entry_base.h.

◆ vn_walk_ref_

DBTable::DBTableWalkRef VrouterUveEntryBase::vn_walk_ref_
protected

Definition at line 71 of file vrouter_uve_entry_base.h.


The documentation for this class was generated from the following files: