OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VrouterUveEntry Class Reference

#include <vrouter_uve_entry.h>

Inheritance diagram for VrouterUveEntry:
Collaboration diagram for VrouterUveEntry:

Public Types

typedef std::map< std::string,
RouteTableSize > 
RouteTableSizeMap
 
typedef std::pair< std::string,
RouteTableSize > 
RouteTableSizePair
 
typedef boost::shared_ptr
< RouteTableSizeMap
RouteTableSizeMapPtr
 
- Public Types inherited from VrouterUveEntryBase
typedef std::set< const
Interface * > 
PhysicalInterfaceSet
 
typedef boost::shared_ptr
< std::vector< std::string > > 
StringVectorPtr
 

Public Member Functions

 VrouterUveEntry (Agent *agent)
 
virtual ~VrouterUveEntry ()
 
L4PortBitmap port_bitmap ()
 
virtual bool SendVrouterMsg ()
 
void SendVrouterControlStats ()
 
void UpdateBitmap (uint8_t proto, uint16_t sport, uint16_t dport)
 
- Public Member Functions inherited from VrouterUveEntryBase
 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)
 
void SendVrouterProuterAssociation (const std::vector< std::string > &list)
 
bool TimerExpiry ()
 

Protected Attributes

uint8_t bandwidth_count_
 
L4PortBitmap port_bitmap_
 
FlowRateComputeInfo flow_info_
 
- Protected Attributes inherited from VrouterUveEntryBase
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

void DispatchVrouterControlStats (const VrouterControlStats &uve) const
 
void InitPrevStats () const
 
void FetchDropStats (AgentDropStats &ds) const
 
bool SetVrouterPortBitmap (VrouterStatsAgent &vr_stats)
 
uint64_t CalculateBandwitdh (uint64_t bytes, int speed_mbps, int diff_seconds, double *utilization_bps) const
 
uint64_t GetBandwidthUsage (StatsManager::InterfaceStats *s, bool dir_in, int mins, double *util) const
 
bool BuildPhysicalInterfaceBandwidth (std::vector< AgentIfBandwidth > &list, uint8_t mins) const
 
bool BuildPhysicalInterfaceBandwidth (map< string, uint64_t > &imp, map< string, uint64_t > &omp, uint8_t mins, double &in_util, double &out_util) const
 
bool BuildPhysicalInterfaceList (std::map< std::string, PhyIfStats > &list, std::map< std::string, PhyIfInfo > &info, std::map< std::string, AgentDropStats > &dsmap) const
 
std::string GetMacAddress (const MacAddress &mac) const
 
void BuildXmppStatsList (std::map< std::string, AgentXmppStats > *stats) const
 
void FetchIFMapStats (AgentUve::DerivedStatsMap *ds) const
 
void VrfWalkDone (DBTableBase *base, RouteTableSizeMapPtr list)
 
bool AppendVrf (DBTablePartBase *part, DBEntryBase *entry, RouteTableSizeMapPtr list)
 
bool StartVrfWalk ()
 
void BuildAndSendVrouterControlStats (RouteTableSizeMapPtr list)
 
 DISALLOW_COPY_AND_ASSIGN (VrouterUveEntry)
 

Private Attributes

uint64_t start_time_
 
DBTableWalker::WalkId vrf_walk_id_
 

Additional Inherited Members

- Static Public Attributes inherited from VrouterUveEntryBase
static const uint8_t bandwidth_mod_1min = 2
 
static const uint8_t bandwidth_mod_5min = 10
 
- Protected Member Functions inherited from VrouterUveEntryBase
virtual void DispatchVrouterStatsMsg (const VrouterStatsAgent &uve)
 
virtual void DispatchComputeCpuStateMsg (const ComputeCpuState &ccs)
 

Detailed Description

Definition at line 13 of file vrouter_uve_entry.h.

Member Typedef Documentation

typedef std::map<std::string, RouteTableSize> VrouterUveEntry::RouteTableSizeMap

Definition at line 15 of file vrouter_uve_entry.h.

Definition at line 17 of file vrouter_uve_entry.h.

typedef std::pair<std::string, RouteTableSize> VrouterUveEntry::RouteTableSizePair

Definition at line 16 of file vrouter_uve_entry.h.

Constructor & Destructor Documentation

VrouterUveEntry::VrouterUveEntry ( Agent agent)

Definition at line 26 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

VrouterUveEntry::~VrouterUveEntry ( )
virtual

Definition at line 32 of file vrouter_uve_entry.cc.

Member Function Documentation

bool VrouterUveEntry::AppendVrf ( DBTablePartBase part,
DBEntryBase entry,
RouteTableSizeMapPtr  list 
)
private

Definition at line 451 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

void VrouterUveEntry::BuildAndSendVrouterControlStats ( RouteTableSizeMapPtr  list)
private

Definition at line 491 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

bool VrouterUveEntry::BuildPhysicalInterfaceBandwidth ( std::vector< AgentIfBandwidth > &  list,
uint8_t  mins 
) const
private
bool VrouterUveEntry::BuildPhysicalInterfaceBandwidth ( map< string, uint64_t > &  imp,
map< string, uint64_t > &  omp,
uint8_t  mins,
double &  in_util,
double &  out_util 
) const
private

Definition at line 313 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

bool VrouterUveEntry::BuildPhysicalInterfaceList ( std::map< std::string, PhyIfStats > &  list,
std::map< std::string, PhyIfInfo > &  info,
std::map< std::string, AgentDropStats > &  dsmap 
) const
private

Definition at line 250 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

void VrouterUveEntry::BuildXmppStatsList ( std::map< std::string, AgentXmppStats > *  stats) const
private

Definition at line 390 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

uint64_t VrouterUveEntry::CalculateBandwitdh ( uint64_t  bytes,
int  speed_mbps,
int  diff_seconds,
double *  utilization_bps 
) const
private

Definition at line 198 of file vrouter_uve_entry.cc.

VrouterUveEntry::DISALLOW_COPY_AND_ASSIGN ( VrouterUveEntry  )
private
void VrouterUveEntry::DispatchVrouterControlStats ( const VrouterControlStats &  uve) const
private

Definition at line 481 of file vrouter_uve_entry.cc.

void VrouterUveEntry::FetchDropStats ( AgentDropStats &  ds) const
private

Definition at line 369 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

void VrouterUveEntry::FetchIFMapStats ( AgentUve::DerivedStatsMap ds) const
private

Definition at line 375 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

uint64_t VrouterUveEntry::GetBandwidthUsage ( StatsManager::InterfaceStats s,
bool  dir_in,
int  mins,
double *  util 
) const
private

Definition at line 219 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

std::string VrouterUveEntry::GetMacAddress ( const MacAddress mac) const
private
void VrouterUveEntry::InitPrevStats ( ) const
private

Definition at line 351 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

L4PortBitmap VrouterUveEntry::port_bitmap ( )
inline

Definition at line 21 of file vrouter_uve_entry.h.

void VrouterUveEntry::SendVrouterControlStats ( )

Definition at line 485 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

bool VrouterUveEntry::SendVrouterMsg ( )
virtual

Reimplemented from VrouterUveEntryBase.

Definition at line 35 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

bool VrouterUveEntry::SetVrouterPortBitmap ( VrouterStatsAgent &  vr_stats)
private

Definition at line 412 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

bool VrouterUveEntry::StartVrfWalk ( )
private

Definition at line 467 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

void VrouterUveEntry::UpdateBitmap ( uint8_t  proto,
uint16_t  sport,
uint16_t  dport 
)

Definition at line 441 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

void VrouterUveEntry::VrfWalkDone ( DBTableBase base,
RouteTableSizeMapPtr  list 
)
private

Definition at line 446 of file vrouter_uve_entry.cc.

Here is the call graph for this function:

Member Data Documentation

uint8_t VrouterUveEntry::bandwidth_count_
protected

Definition at line 28 of file vrouter_uve_entry.h.

FlowRateComputeInfo VrouterUveEntry::flow_info_
protected

Definition at line 30 of file vrouter_uve_entry.h.

L4PortBitmap VrouterUveEntry::port_bitmap_
protected

Definition at line 29 of file vrouter_uve_entry.h.

uint64_t VrouterUveEntry::start_time_
private

Definition at line 58 of file vrouter_uve_entry.h.

DBTableWalker::WalkId VrouterUveEntry::vrf_walk_id_
private

Definition at line 59 of file vrouter_uve_entry.h.


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