OpenSDN source code
PortSubscribeTable Class Reference

#include <port_subscribe_table.h>

Collaboration diagram for PortSubscribeTable:

Classes

struct  Cmp
 
struct  State
 
struct  VmiEntry
 
struct  VmVnUuidEntry
 
struct  VmVnUuidEntryCmp
 

Public Types

typedef std::map< boost::uuids::uuid, PortSubscribeEntryPtr, CmpVmiTree
 
typedef std::map< boost::uuids::uuid, IFMapNode * > UuidToIFNodeTree
 
typedef std::map< boost::uuids::uuid, VmiEntryVmiToVmVnTree
 
typedef std::map< VmVnUuidEntry, boost::uuids::uuid, VmVnUuidEntryCmpVmVnToVmiTree
 
typedef std::map< VmVnUuidEntry, PortSubscribeEntryPtr, VmVnUuidEntryCmpVmVnTree
 

Public Member Functions

 PortSubscribeTable (Agent *agent)
 
virtual ~PortSubscribeTable ()
 
void InitDone ()
 
void Shutdown ()
 
IFMapNodeUuidToIFNode (const boost::uuids::uuid &u) const
 
void Notify (DBTablePartBase *partition, DBEntryBase *e)
 
void StaleWalk (uint64_t version)
 
uint32_t Size () const
 
void AddVmi (const boost::uuids::uuid &u, PortSubscribeEntryPtr entry)
 
void DeleteVmi (const boost::uuids::uuid &u)
 
PortSubscribeEntryPtr GetVmi (const boost::uuids::uuid &u) const
 
void AddVmVnPort (const boost::uuids::uuid &vm_uuid, const boost::uuids::uuid &vn_uuid, const boost::uuids::uuid &vmi_uuid, PortSubscribeEntryPtr entry)
 
void DeleteVmVnPort (const boost::uuids::uuid &vm_uuid, const boost::uuids::uuid &vn_uuid, const boost::uuids::uuid &vmi_uuid)
 
PortSubscribeEntryPtr GetVmVnPortNoLock (const boost::uuids::uuid &vm_uuid, const boost::uuids::uuid &vn_uuid, const boost::uuids::uuid &vmi_uuid)
 
PortSubscribeEntryPtr GetVmVnPort (const boost::uuids::uuid &vm_uuid, const boost::uuids::uuid &vn_uuid, const boost::uuids::uuid &vmi_uuid)
 
void HandleVmiIfnodeAdd (const boost::uuids::uuid &vmi_uuid, const VmInterfaceConfigData *data)
 
void HandleVmiIfnodeDelete (const boost::uuids::uuid &vmi_uuid)
 
PortSubscribeEntryPtr Get (const boost::uuids::uuid &vmi_uuid, const boost::uuids::uuid &vm_uuid, const boost::uuids::uuid &vn_uuid) const
 
bool VmVnToVmiSetNoLock (const boost::uuids::uuid &vm_uuid, std::set< boost::uuids::uuid > &vmi_uuid_set) const
 
bool VmVnToVmiSet (const boost::uuids::uuid &vm_uuid, std::set< boost::uuids::uuid > &vmi_uuid_set) const
 
const VmiEntryVmiToEntry (const boost::uuids::uuid &vmi_uuid) const
 

Private Member Functions

void UpdateVmiIfnodeInfo (const boost::uuids::uuid &vmi_uuid, const VmInterfaceConfigData *data)
 
void DeleteVmiIfnodeInfo (const boost::uuids::uuid &vmi_uuid)
 
 DISALLOW_COPY_AND_ASSIGN (PortSubscribeTable)
 

Private Attributes

Agentagent_
 
InterfaceTableinterface_table_
 
VNControllercontroller_
 
tbb::mutex mutex_
 
VmiTree vmi_tree_
 
IFMapAgentTablevmi_config_table_
 
DBTableBase::ListenerId vmi_config_listener_id_
 
UuidToIFNodeTree uuid_ifnode_tree_
 
VmiToVmVnTree vmi_to_vmvn_tree_
 
VmVnToVmiTree vmvn_to_vmi_tree_
 
VmVnTree vmvn_subscribe_tree_
 

Friends

class SandeshVmiPortSubscribeTask
 
class SandeshVmVnPortSubscribeTask
 
class SandeshVmiToVmVnTask
 
class SandeshVmVnToVmiTask
 

Detailed Description

Definition at line 163 of file port_subscribe_table.h.

Member Typedef Documentation

◆ UuidToIFNodeTree

◆ VmiToVmVnTree

◆ VmiTree

◆ VmVnToVmiTree

◆ VmVnTree

Constructor & Destructor Documentation

◆ PortSubscribeTable()

PortSubscribeTable::PortSubscribeTable ( Agent agent)

Definition at line 205 of file port_subscribe_table.cc.

◆ ~PortSubscribeTable()

PortSubscribeTable::~PortSubscribeTable ( )
virtual

Definition at line 211 of file port_subscribe_table.cc.

Member Function Documentation

◆ AddVmi()

void PortSubscribeTable::AddVmi ( const boost::uuids::uuid u,
PortSubscribeEntryPtr  entry 
)

Definition at line 215 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ AddVmVnPort()

void PortSubscribeTable::AddVmVnPort ( const boost::uuids::uuid vm_uuid,
const boost::uuids::uuid vn_uuid,
const boost::uuids::uuid vmi_uuid,
PortSubscribeEntryPtr  entry 
)

Definition at line 266 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ DeleteVmi()

void PortSubscribeTable::DeleteVmi ( const boost::uuids::uuid u)

Definition at line 239 of file port_subscribe_table.cc.

◆ DeleteVmiIfnodeInfo()

void PortSubscribeTable::DeleteVmiIfnodeInfo ( const boost::uuids::uuid vmi_uuid)
private

Definition at line 477 of file port_subscribe_table.cc.

◆ DeleteVmVnPort()

void PortSubscribeTable::DeleteVmVnPort ( const boost::uuids::uuid vm_uuid,
const boost::uuids::uuid vn_uuid,
const boost::uuids::uuid vmi_uuid 
)

Definition at line 290 of file port_subscribe_table.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

PortSubscribeTable::DISALLOW_COPY_AND_ASSIGN ( PortSubscribeTable  )
private

◆ Get()

PortSubscribeEntryPtr PortSubscribeTable::Get ( const boost::uuids::uuid vmi_uuid,
const boost::uuids::uuid vm_uuid,
const boost::uuids::uuid vn_uuid 
) const

Definition at line 549 of file port_subscribe_table.cc.

◆ GetVmi()

PortSubscribeEntryPtr PortSubscribeTable::GetVmi ( const boost::uuids::uuid u) const

Definition at line 249 of file port_subscribe_table.cc.

◆ GetVmVnPort()

PortSubscribeEntryPtr PortSubscribeTable::GetVmVnPort ( const boost::uuids::uuid vm_uuid,
const boost::uuids::uuid vn_uuid,
const boost::uuids::uuid vmi_uuid 
)

Definition at line 316 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ GetVmVnPortNoLock()

PortSubscribeEntryPtr PortSubscribeTable::GetVmVnPortNoLock ( const boost::uuids::uuid vm_uuid,
const boost::uuids::uuid vn_uuid,
const boost::uuids::uuid vmi_uuid 
)

Definition at line 304 of file port_subscribe_table.cc.

◆ HandleVmiIfnodeAdd()

void PortSubscribeTable::HandleVmiIfnodeAdd ( const boost::uuids::uuid vmi_uuid,
const VmInterfaceConfigData data 
)

Definition at line 445 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ HandleVmiIfnodeDelete()

void PortSubscribeTable::HandleVmiIfnodeDelete ( const boost::uuids::uuid vmi_uuid)

Definition at line 500 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ InitDone()

void PortSubscribeTable::InitDone ( )

Definition at line 20 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ Notify()

void PortSubscribeTable::Notify ( DBTablePartBase partition,
DBEntryBase e 
)

Definition at line 327 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ Shutdown()

void PortSubscribeTable::Shutdown ( )

Definition at line 29 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ Size()

uint32_t PortSubscribeTable::Size ( ) const
inline

Definition at line 250 of file port_subscribe_table.h.

◆ StaleWalk()

void PortSubscribeTable::StaleWalk ( uint64_t  version)

Definition at line 506 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ UpdateVmiIfnodeInfo()

void PortSubscribeTable::UpdateVmiIfnodeInfo ( const boost::uuids::uuid vmi_uuid,
const VmInterfaceConfigData data 
)
private

Definition at line 406 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ UuidToIFNode()

IFMapNode * PortSubscribeTable::UuidToIFNode ( const boost::uuids::uuid u) const

Definition at line 371 of file port_subscribe_table.cc.

◆ VmiToEntry()

const PortSubscribeTable::VmiEntry * PortSubscribeTable::VmiToEntry ( const boost::uuids::uuid vmi_uuid) const

Definition at line 380 of file port_subscribe_table.cc.

◆ VmVnToVmiSet()

bool PortSubscribeTable::VmVnToVmiSet ( const boost::uuids::uuid vm_uuid,
std::set< boost::uuids::uuid > &  vmi_uuid_set 
) const

Definition at line 585 of file port_subscribe_table.cc.

Here is the call graph for this function:

◆ VmVnToVmiSetNoLock()

bool PortSubscribeTable::VmVnToVmiSetNoLock ( const boost::uuids::uuid vm_uuid,
std::set< boost::uuids::uuid > &  vmi_uuid_set 
) const

Definition at line 566 of file port_subscribe_table.cc.

Friends And Related Function Documentation

◆ SandeshVmiPortSubscribeTask

friend class SandeshVmiPortSubscribeTask
friend

Definition at line 289 of file port_subscribe_table.h.

◆ SandeshVmiToVmVnTask

friend class SandeshVmiToVmVnTask
friend

Definition at line 291 of file port_subscribe_table.h.

◆ SandeshVmVnPortSubscribeTask

friend class SandeshVmVnPortSubscribeTask
friend

Definition at line 290 of file port_subscribe_table.h.

◆ SandeshVmVnToVmiTask

friend class SandeshVmVnToVmiTask
friend

Definition at line 292 of file port_subscribe_table.h.

Member Data Documentation

◆ agent_

Agent* PortSubscribeTable::agent_
private

Definition at line 294 of file port_subscribe_table.h.

◆ controller_

VNController* PortSubscribeTable::controller_
private

Definition at line 296 of file port_subscribe_table.h.

◆ interface_table_

InterfaceTable* PortSubscribeTable::interface_table_
private

Definition at line 295 of file port_subscribe_table.h.

◆ mutex_

tbb::mutex PortSubscribeTable::mutex_
mutableprivate

Definition at line 297 of file port_subscribe_table.h.

◆ uuid_ifnode_tree_

UuidToIFNodeTree PortSubscribeTable::uuid_ifnode_tree_
private

Definition at line 301 of file port_subscribe_table.h.

◆ vmi_config_listener_id_

DBTableBase::ListenerId PortSubscribeTable::vmi_config_listener_id_
private

Definition at line 300 of file port_subscribe_table.h.

◆ vmi_config_table_

IFMapAgentTable* PortSubscribeTable::vmi_config_table_
private

Definition at line 299 of file port_subscribe_table.h.

◆ vmi_to_vmvn_tree_

VmiToVmVnTree PortSubscribeTable::vmi_to_vmvn_tree_
private

Definition at line 302 of file port_subscribe_table.h.

◆ vmi_tree_

VmiTree PortSubscribeTable::vmi_tree_
private

Definition at line 298 of file port_subscribe_table.h.

◆ vmvn_subscribe_tree_

VmVnTree PortSubscribeTable::vmvn_subscribe_tree_
private

Definition at line 304 of file port_subscribe_table.h.

◆ vmvn_to_vmi_tree_

VmVnToVmiTree PortSubscribeTable::vmvn_to_vmi_tree_
private

Definition at line 303 of file port_subscribe_table.h.


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