OpenSDN source code
OVSDB::LogicalSwitchTable Class Reference

#include <logical_switch_ovsdb.h>

Inheritance diagram for OVSDB::LogicalSwitchTable:
Collaboration diagram for OVSDB::LogicalSwitchTable:

Classes

class  ProcessDeleteTableReqTask
 

Public Types

typedef std::map< struct ovsdb_idl_row *, LogicalSwitchEntry * > OvsdbIdlRowMap
 
- Public Types inherited from KSyncDBObject
enum  DBFilterResp {
  DBFilterAccept , DBFilterIgnore , DBFilterDelete , DBFilterDelAdd ,
  DBFilterMax
}
 
- Public Types inherited from KSyncObject
typedef boost::intrusive::member_hook< KSyncEntry, boost::intrusive::set_member_hook<>, &KSyncEntry::node_KSyncObjectNode
 
typedef boost::intrusive::set< KSyncEntry, KSyncObjectNodeTree
 
typedef boost::intrusive::member_hook< KSyncFwdReference, boost::intrusive::set_member_hook<>, &KSyncFwdReference::node_KSyncFwdRefNode
 
typedef boost::intrusive::set< KSyncFwdReference, KSyncFwdRefNodeFwdRefTree
 
typedef boost::intrusive::member_hook< KSyncBackReference, boost::intrusive::set_member_hook<>, &KSyncBackReference::node_KSyncBackRefNode
 
typedef boost::intrusive::set< KSyncBackReference, KSyncBackRefNodeBackRefTree
 

Public Member Functions

 LogicalSwitchTable (OvsdbClientIdl *idl)
 
virtual ~LogicalSwitchTable ()
 
void OvsdbNotify (OvsdbClientIdl::Op, struct ovsdb_idl_row *)
 
void OvsdbMcastLocalMacNotify (OvsdbClientIdl::Op, struct ovsdb_idl_row *)
 
void OvsdbMcastRemoteMacNotify (OvsdbClientIdl::Op, struct ovsdb_idl_row *)
 
void OvsdbUcastLocalMacNotify (OvsdbClientIdl::Op, struct ovsdb_idl_row *)
 
KSyncEntryAlloc (const KSyncEntry *key, uint32_t index)
 
KSyncEntryDBToKSyncEntry (const DBEntry *)
 
OvsdbDBEntryAllocOvsEntry (struct ovsdb_idl_row *row)
 
DBFilterResp OvsdbDBEntryFilter (const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
 
void ProcessDeleteTableReq ()
 
- Public Member Functions inherited from OVSDB::OvsdbDBObject
 OvsdbDBObject (OvsdbClientIdl *idl, bool init_stale_entry_cleanup)
 
 OvsdbDBObject (OvsdbClientIdl *idl, DBTable *tbl, bool init_stale_entry_cleanup)
 
virtual ~OvsdbDBObject ()
 
virtual void OvsdbRegisterDBTable (DBTable *tbl)
 
void OvsdbStartResyncWalk ()
 
void NotifyAddOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row)
 
void NotifyDeleteOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row)
 
bool DBWalkNotify (DBTablePartBase *partition, DBEntryBase *entry)
 
void DBWalkDone (DBTableBase *partition)
 
virtual Agentagent () const
 
void DeleteTable (void)
 
virtual void EmptyTable (void)
 
OvsdbClientIdlclient_idl ()
 
- Public Member Functions inherited from KSyncDBObject
 KSyncDBObject (const std::string &name)
 
 KSyncDBObject (const std::string &name, int max_index)
 
 KSyncDBObject (const std::string &name, DBTableBase *table)
 
 KSyncDBObject (const std::string &name, DBTableBase *table, int max_index)
 
virtual ~KSyncDBObject ()
 
void RegisterDb (DBTableBase *table)
 
void UnregisterDb (DBTableBase *table)
 
void Notify (DBTablePartBase *partition, DBEntryBase *entry)
 
DBTableBaseGetDBTable ()
 
DBTableBase::ListenerId GetListenerId (DBTableBase *table)
 
void set_test_id (DBTableBase::ListenerId id)
 
DBTableBase::ListenerId id () const
 
- Public Member Functions inherited from KSyncObject
 KSyncObject (const std::string &name)
 
 KSyncObject (const std::string &name, int max_index)
 
virtual ~KSyncObject ()
 
void InitStaleEntryCleanup (boost::asio::io_context &ios, uint32_t cleanup_time, uint32_t cleanup_intvl, uint16_t entries_per_intvl)
 
void NotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event)
 
void SafeNotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event)
 
virtual void NetlinkAck (KSyncEntry *entry, KSyncEntry::KSyncEvent event)
 
void BackRefAdd (KSyncEntry *key, KSyncEntry *reference)
 
void BackRefDel (KSyncEntry *key)
 
void BackRefReEval (KSyncEntry *key)
 
KSyncEntryCreate (const KSyncEntry *key)
 
KSyncEntryCreate (const KSyncEntry *key, bool skip_lookup)
 
KSyncEntryCreateStale (const KSyncEntry *key)
 
void Change (KSyncEntry *entry)
 
void Delete (KSyncEntry *entry)
 
KSyncEntryFind (const KSyncEntry *key)
 
KSyncEntryNext (const KSyncEntry *entry) const
 
KSyncEntryGetReference (const KSyncEntry *key)
 
virtual void Free (KSyncEntry *entry)
 
bool IsEmpty (void)
 
virtual bool DoEventTrace (void)
 
virtual void PreFree (KSyncEntry *entry)
 
std::size_t Size ()
 
void set_delete_scheduled ()
 
bool delete_scheduled ()
 
virtual SandeshTraceBufferPtr GetKSyncTraceBuf ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (LogicalSwitchTable)
 

Private Attributes

OvsdbIdlRowMap idl_row_map_
 

Additional Inherited Members

- Static Public Member Functions inherited from KSyncObject
static void Shutdown ()
 
- Static Public Attributes inherited from OVSDB::OvsdbDBObject
static const uint32_t StaleEntryCleanupTimer = 300000
 
static const uint32_t StaleEntryYeildTimer = 100
 
static const uint16_t StaleEntryDeletePerIteration = 32
 
- Protected Member Functions inherited from OVSDB::OvsdbDBObject
DBFilterResp DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync)
 
virtual void DeleteTableDone (void)
 
- Protected Member Functions inherited from KSyncObject
KSyncEntryCreateImpl (const KSyncEntry *key)
 
void ClearStale (KSyncEntry *entry)
 
void ChangeKey (KSyncEntry *entry, uint32_t arg)
 
virtual void UpdateKey (KSyncEntry *entry, uint32_t arg)
 
virtual uint32_t GetKey (KSyncEntry *entry)
 
- Protected Attributes inherited from OVSDB::OvsdbDBObject
OvsdbClientIdlPtr client_idl_
 
- Protected Attributes inherited from KSyncObject
tbb::recursive_mutex lock_
 

Detailed Description

Definition at line 25 of file logical_switch_ovsdb.h.

Member Typedef Documentation

◆ OvsdbIdlRowMap

typedef std::map<struct ovsdb_idl_row *, LogicalSwitchEntry *> OVSDB::LogicalSwitchTable::OvsdbIdlRowMap

Definition at line 27 of file logical_switch_ovsdb.h.

Constructor & Destructor Documentation

◆ LogicalSwitchTable()

LogicalSwitchTable::LogicalSwitchTable ( OvsdbClientIdl idl)

Definition at line 462 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ ~LogicalSwitchTable()

LogicalSwitchTable::~LogicalSwitchTable ( )
virtual

Definition at line 471 of file logical_switch_ovsdb.cc.

Member Function Documentation

◆ Alloc()

KSyncEntry * LogicalSwitchTable::Alloc ( const KSyncEntry key,
uint32_t  index 
)
virtual

Implements KSyncObject.

Definition at line 659 of file logical_switch_ovsdb.cc.

◆ AllocOvsEntry()

OvsdbDBEntry * LogicalSwitchTable::AllocOvsEntry ( struct ovsdb_idl_row *  row)
virtual

Reimplemented from OVSDB::OvsdbDBObject.

Definition at line 673 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ DBToKSyncEntry()

KSyncEntry * LogicalSwitchTable::DBToKSyncEntry ( const DBEntry db_entry)
virtual

Implements KSyncDBObject.

Definition at line 666 of file logical_switch_ovsdb.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

OVSDB::LogicalSwitchTable::DISALLOW_COPY_AND_ASSIGN ( LogicalSwitchTable  )
private

◆ OvsdbDBEntryFilter()

KSyncDBObject::DBFilterResp LogicalSwitchTable::OvsdbDBEntryFilter ( const DBEntry entry,
const OvsdbDBEntry ovsdb_entry 
)
virtual

Reimplemented from OVSDB::OvsdbDBObject.

Definition at line 678 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ OvsdbMcastLocalMacNotify()

void LogicalSwitchTable::OvsdbMcastLocalMacNotify ( OvsdbClientIdl::Op  op,
struct ovsdb_idl_row *  row 
)

Definition at line 488 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ OvsdbMcastRemoteMacNotify()

void LogicalSwitchTable::OvsdbMcastRemoteMacNotify ( OvsdbClientIdl::Op  op,
struct ovsdb_idl_row *  row 
)

Definition at line 541 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ OvsdbNotify()

void LogicalSwitchTable::OvsdbNotify ( OvsdbClientIdl::Op  op,
struct ovsdb_idl_row *  row 
)

Definition at line 474 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ OvsdbUcastLocalMacNotify()

void LogicalSwitchTable::OvsdbUcastLocalMacNotify ( OvsdbClientIdl::Op  op,
struct ovsdb_idl_row *  row 
)

Definition at line 612 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

◆ ProcessDeleteTableReq()

void LogicalSwitchTable::ProcessDeleteTableReq ( )

Definition at line 690 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

Member Data Documentation

◆ idl_row_map_

OvsdbIdlRowMap OVSDB::LogicalSwitchTable::idl_row_map_
private

Definition at line 61 of file logical_switch_ovsdb.h.


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