OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

Definition at line 38 of file vrouter_uve_entry_base.h.

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 ( Agent agent)

Definition at line 27 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

VrouterUveEntryBase::~VrouterUveEntryBase ( )
virtual

Definition at line 42 of file vrouter_uve_entry_base.cc.

Member Function Documentation

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:

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:

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:

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:

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:

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

Definition at line 909 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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

Definition at line 905 of file vrouter_uve_entry_base.cc.

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

Definition at line 150 of file vrouter_uve_entry_base.cc.

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

Definition at line 901 of file vrouter_uve_entry_base.cc.

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

Definition at line 897 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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:

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:

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:

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:

void VrouterUveEntryBase::RegisterDBClients ( )

Definition at line 106 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::Run ( void  )
private

Definition at line 56 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::SendVrouterMsg ( )
virtual

Reimplemented in VrouterUveEntry.

Definition at line 627 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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

Definition at line 884 of file vrouter_uve_entry_base.cc.

void VrouterUveEntryBase::Shutdown ( void  )

Definition at line 124 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::StartInterfaceWalk ( )
private

Definition at line 419 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

void VrouterUveEntryBase::StartTimer ( )
private

Definition at line 45 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::StartVmWalk ( )
private

Definition at line 185 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::StartVnWalk ( )
private

Definition at line 258 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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

Definition at line 525 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

bool VrouterUveEntryBase::TimerExpiry ( )

Definition at line 51 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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

Definition at line 390 of file vrouter_uve_entry_base.cc.

Here is the call graph for this function:

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:

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:

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:

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* VrouterUveEntryBase::agent_
protected

Definition at line 63 of file vrouter_uve_entry_base.h.

const uint8_t VrouterUveEntryBase::bandwidth_mod_1min = 2
static

Definition at line 36 of file vrouter_uve_entry_base.h.

const uint8_t VrouterUveEntryBase::bandwidth_mod_5min = 10
static

Definition at line 37 of file vrouter_uve_entry_base.h.

uint8_t VrouterUveEntryBase::cpu_stats_count_
protected

Definition at line 67 of file vrouter_uve_entry_base.h.

bool VrouterUveEntryBase::do_interface_walk_
protected

Definition at line 70 of file vrouter_uve_entry_base.h.

bool VrouterUveEntryBase::do_vm_walk_
protected

Definition at line 69 of file vrouter_uve_entry_base.h.

bool VrouterUveEntryBase::do_vn_walk_
protected

Definition at line 68 of file vrouter_uve_entry_base.h.

DBTable::DBTableWalkRef VrouterUveEntryBase::interface_walk_ref_
protected

Definition at line 73 of file vrouter_uve_entry_base.h.

DBTableBase::ListenerId VrouterUveEntryBase::intf_listener_id_
private

Definition at line 104 of file vrouter_uve_entry_base.h.

PhysicalInterfaceSet VrouterUveEntryBase::phy_intf_set_
protected

Definition at line 64 of file vrouter_uve_entry_base.h.

DBTableBase::ListenerId VrouterUveEntryBase::physical_device_listener_id_
private

Definition at line 105 of file vrouter_uve_entry_base.h.

VrouterStatsAgent VrouterUveEntryBase::prev_stats_
protected

Definition at line 65 of file vrouter_uve_entry_base.h.

VrouterAgent VrouterUveEntryBase::prev_vrouter_
protected

Definition at line 66 of file vrouter_uve_entry_base.h.

Timer* VrouterUveEntryBase::timer_
private

Definition at line 106 of file vrouter_uve_entry_base.h.

DBTableBase::ListenerId VrouterUveEntryBase::vm_listener_id_
private

Definition at line 103 of file vrouter_uve_entry_base.h.

DBTable::DBTableWalkRef VrouterUveEntryBase::vm_walk_ref_
protected

Definition at line 72 of file vrouter_uve_entry_base.h.

DBTableBase::ListenerId VrouterUveEntryBase::vn_listener_id_
private

Definition at line 102 of file vrouter_uve_entry_base.h.

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: