OpenSDN source code
InterfaceUveTable Class Reference

#include <interface_uve_table.h>

Inheritance diagram for InterfaceUveTable:
Collaboration diagram for InterfaceUveTable:

Classes

struct  AceStats
 
struct  EndpointStatsContainer
 
struct  FipInfo
 
struct  FloatingIp
 
class  FloatingIpCmp
 
struct  PolicyCmp
 
struct  UveInterfaceEntry
 
struct  UveInterfaceState
 
struct  UveSecurityPolicyStats
 

Public Types

typedef boost::shared_ptr< FloatingIpFloatingIpPtr
 
typedef std::set< FloatingIpPtr, FloatingIpCmpFloatingIpSet
 
typedef boost::shared_ptr< UveSecurityPolicyStatsUveSecurityPolicyStatsPtr
 
typedef std::set< UveSecurityPolicyStatsPtr, PolicyCmpSecurityPolicyStatsSet
 
typedef std::map< std::string, EndpointStatsContainerSecurityPolicyStatsMap
 
typedef std::pair< std::string, EndpointStatsContainerSecurityPolicyStatsPair
 
typedef std::set< AceStatsAceStatsSet
 
typedef boost::shared_ptr< UveInterfaceEntryUveInterfaceEntryPtr
 
typedef std::map< std::string, UveInterfaceEntryPtrInterfaceMap
 
typedef std::pair< std::string, UveInterfaceEntryPtrInterfacePair
 

Public Member Functions

 InterfaceUveTable (Agent *agent, uint32_t default_intvl)
 
virtual ~InterfaceUveTable ()
 
void RegisterDBClients ()
 
void Shutdown (void)
 
virtual void DispatchInterfaceMsg (const UveVMInterfaceAgent &uve)
 
virtual void DispatchInterfaceObjectLog (EndpointSecurityStats *obj)
 
void DispatchVMITagsMsg (const VMITags &uve) const
 
virtual void DispatchVMIStatsMsg (const VMIStats &uve)
 
bool TimerExpiry ()
 
virtual void SendInterfaceAceStats (const string &name, UveInterfaceEntry *entry)
 
void HandleVmiTagListChange (const std::string &name)
 

Protected Member Functions

void SendInterfaceDeleteMsg (const std::string &config_name)
 

Protected Attributes

Agentagent_
 
InterfaceMap interface_tree_
 
tbb::mutex interface_tree_mutex_
 

Private Member Functions

virtual UveInterfaceEntryPtr Allocate (const VmInterface *vm)
 
void InterfaceNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void InterfaceAddHandler (const VmInterface *intf, const VmInterface::FloatingIpSet &old_list)
 
void InterfaceDeleteHandler (const std::string &name)
 
void set_expiry_time (int time)
 
void SendInterfaceMsg (const std::string &name, UveInterfaceEntry *entry)
 
 DISALLOW_COPY_AND_ASSIGN (InterfaceUveTable)
 

Private Attributes

DBTableBase::ListenerId intf_listener_id_
 
std::string timer_last_visited_
 
Timertimer_
 
int expiry_time_
 

Detailed Description

Definition at line 49 of file interface_uve_table.h.

Member Typedef Documentation

◆ AceStatsSet

Definition at line 203 of file interface_uve_table.h.

◆ FloatingIpPtr

typedef boost::shared_ptr<FloatingIp> InterfaceUveTable::FloatingIpPtr

Definition at line 102 of file interface_uve_table.h.

◆ FloatingIpSet

◆ InterfaceMap

typedef std::map<std::string, UveInterfaceEntryPtr> InterfaceUveTable::InterfaceMap

Definition at line 290 of file interface_uve_table.h.

◆ InterfacePair

typedef std::pair<std::string, UveInterfaceEntryPtr> InterfaceUveTable::InterfacePair

Definition at line 291 of file interface_uve_table.h.

◆ SecurityPolicyStatsMap

Definition at line 200 of file interface_uve_table.h.

◆ SecurityPolicyStatsPair

Definition at line 202 of file interface_uve_table.h.

◆ SecurityPolicyStatsSet

◆ UveInterfaceEntryPtr

Definition at line 288 of file interface_uve_table.h.

◆ UveSecurityPolicyStatsPtr

Definition at line 167 of file interface_uve_table.h.

Constructor & Destructor Documentation

◆ InterfaceUveTable()

InterfaceUveTable::InterfaceUveTable ( Agent agent,
uint32_t  default_intvl 
)

Definition at line 11 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ ~InterfaceUveTable()

InterfaceUveTable::~InterfaceUveTable ( )
virtual

Definition at line 24 of file interface_uve_table.cc.

Member Function Documentation

◆ Allocate()

InterfaceUveTable::UveInterfaceEntryPtr InterfaceUveTable::Allocate ( const VmInterface vm)
privatevirtual

Definition at line 380 of file interface_uve_table.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

InterfaceUveTable::DISALLOW_COPY_AND_ASSIGN ( InterfaceUveTable  )
private

◆ DispatchInterfaceMsg()

void InterfaceUveTable::DispatchInterfaceMsg ( const UveVMInterfaceAgent &  uve)
virtual

Definition at line 385 of file interface_uve_table.cc.

◆ DispatchInterfaceObjectLog()

void InterfaceUveTable::DispatchInterfaceObjectLog ( EndpointSecurityStats *  obj)
virtual

Definition at line 397 of file interface_uve_table.cc.

◆ DispatchVMIStatsMsg()

void InterfaceUveTable::DispatchVMIStatsMsg ( const VMIStats &  uve)
virtual

Definition at line 389 of file interface_uve_table.cc.

◆ DispatchVMITagsMsg()

void InterfaceUveTable::DispatchVMITagsMsg ( const VMITags &  uve) const

Definition at line 393 of file interface_uve_table.cc.

◆ HandleVmiTagListChange()

void InterfaceUveTable::HandleVmiTagListChange ( const std::string &  name)

Definition at line 475 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ InterfaceAddHandler()

void InterfaceUveTable::InterfaceAddHandler ( const VmInterface intf,
const VmInterface::FloatingIpSet old_list 
)
private

Definition at line 413 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ InterfaceDeleteHandler()

void InterfaceUveTable::InterfaceDeleteHandler ( const std::string &  name)
private

Definition at line 461 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ InterfaceNotify()

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

Definition at line 485 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ RegisterDBClients()

void InterfaceUveTable::RegisterDBClients ( )

Definition at line 527 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ SendInterfaceAceStats()

virtual void InterfaceUveTable::SendInterfaceAceStats ( const string &  name,
UveInterfaceEntry entry 
)
inlinevirtual

Reimplemented in InterfaceUveStatsTable.

Definition at line 302 of file interface_uve_table.h.

◆ SendInterfaceDeleteMsg()

void InterfaceUveTable::SendInterfaceDeleteMsg ( const std::string &  config_name)
protected

Definition at line 308 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ SendInterfaceMsg()

void InterfaceUveTable::SendInterfaceMsg ( const std::string &  name,
UveInterfaceEntry entry 
)
private

Definition at line 401 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ set_expiry_time()

void InterfaceUveTable::set_expiry_time ( int  time)
private

Definition at line 80 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ Shutdown()

void InterfaceUveTable::Shutdown ( void  )

Definition at line 534 of file interface_uve_table.cc.

Here is the call graph for this function:

◆ TimerExpiry()

bool InterfaceUveTable::TimerExpiry ( )

Definition at line 27 of file interface_uve_table.cc.

Here is the call graph for this function:

Member Data Documentation

◆ agent_

Agent* InterfaceUveTable::agent_
protected

Definition at line 310 of file interface_uve_table.h.

◆ expiry_time_

int InterfaceUveTable::expiry_time_
private

Definition at line 327 of file interface_uve_table.h.

◆ interface_tree_

InterfaceMap InterfaceUveTable::interface_tree_
protected

Definition at line 311 of file interface_uve_table.h.

◆ interface_tree_mutex_

tbb::mutex InterfaceUveTable::interface_tree_mutex_
protected

Definition at line 313 of file interface_uve_table.h.

◆ intf_listener_id_

DBTableBase::ListenerId InterfaceUveTable::intf_listener_id_
private

Definition at line 323 of file interface_uve_table.h.

◆ timer_

Timer* InterfaceUveTable::timer_
private

Definition at line 326 of file interface_uve_table.h.

◆ timer_last_visited_

std::string InterfaceUveTable::timer_last_visited_
private

Definition at line 325 of file interface_uve_table.h.


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