OpenSDN source code
|
#include <ovsdb_object.h>
Public Member Functions | |
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) |
virtual OvsdbDBEntry * | AllocOvsEntry (struct ovsdb_idl_row *row) |
bool | DBWalkNotify (DBTablePartBase *partition, DBEntryBase *entry) |
void | DBWalkDone (DBTableBase *partition) |
virtual Agent * | agent () const |
void | DeleteTable (void) |
virtual void | EmptyTable (void) |
virtual DBFilterResp | OvsdbDBEntryFilter (const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry) |
OvsdbClientIdl * | client_idl () |
![]() | |
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) |
DBTableBase * | GetDBTable () |
DBTableBase::ListenerId | GetListenerId (DBTableBase *table) |
virtual KSyncEntry * | DBToKSyncEntry (const DBEntry *entry)=0 |
void | set_test_id (DBTableBase::ListenerId id) |
DBTableBase::ListenerId | id () const |
![]() | |
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) |
KSyncEntry * | Create (const KSyncEntry *key) |
KSyncEntry * | Create (const KSyncEntry *key, bool skip_lookup) |
KSyncEntry * | CreateStale (const KSyncEntry *key) |
void | Change (KSyncEntry *entry) |
void | Delete (KSyncEntry *entry) |
KSyncEntry * | Find (const KSyncEntry *key) |
KSyncEntry * | Next (const KSyncEntry *entry) const |
KSyncEntry * | GetReference (const KSyncEntry *key) |
virtual KSyncEntry * | Alloc (const KSyncEntry *key, uint32_t index)=0 |
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 () |
Static Public Attributes | |
static const uint32_t | StaleEntryCleanupTimer = 300000 |
static const uint32_t | StaleEntryYeildTimer = 100 |
static const uint16_t | StaleEntryDeletePerIteration = 32 |
Protected Member Functions | |
DBFilterResp | DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync) |
virtual void | DeleteTableDone (void) |
![]() | |
KSyncEntry * | CreateImpl (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 | |
OvsdbClientIdlPtr | client_idl_ |
![]() | |
tbb::recursive_mutex | lock_ |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (OvsdbDBObject) | |
Private Attributes | |
DBTable::DBTableWalkRef | walk_ref_ |
bool | delete_triggered_ |
Friends | |
class | OvsdbDBEntry |
Additional Inherited Members | |
![]() | |
enum | DBFilterResp { DBFilterAccept, DBFilterIgnore, DBFilterDelete, DBFilterDelAdd, DBFilterMax } |
![]() | |
typedef boost::intrusive::member_hook < KSyncEntry, boost::intrusive::set_member_hook <>,&KSyncEntry::node_ > | KSyncObjectNode |
typedef boost::intrusive::set < KSyncEntry, KSyncObjectNode > | Tree |
typedef boost::intrusive::member_hook < KSyncFwdReference, boost::intrusive::set_member_hook <>,&KSyncFwdReference::node_ > | KSyncFwdRefNode |
typedef boost::intrusive::set < KSyncFwdReference, KSyncFwdRefNode > | FwdRefTree |
typedef boost::intrusive::member_hook < KSyncBackReference, boost::intrusive::set_member_hook <>,&KSyncBackReference::node_ > | KSyncBackRefNode |
typedef boost::intrusive::set < KSyncBackReference, KSyncBackRefNode > | BackRefTree |
![]() | |
static void | Shutdown () |
Definition at line 43 of file ovsdb_object.h.
OvsdbDBObject::OvsdbDBObject | ( | OvsdbClientIdl * | idl, |
bool | init_stale_entry_cleanup | ||
) |
OvsdbDBObject::OvsdbDBObject | ( | OvsdbClientIdl * | idl, |
DBTable * | tbl, | ||
bool | init_stale_entry_cleanup | ||
) |
|
virtual |
Definition at line 72 of file ovsdb_object.cc.
|
virtual |
Reimplemented in OVSDB::HaStaleDevVnTable, OVSDB::HaStaleL2RouteTable, and OVSDB::HaStaleVnTable.
Definition at line 137 of file ovsdb_object.cc.
|
inlinevirtual |
Reimplemented in OVSDB::LogicalSwitchTable, OVSDB::UnicastMacRemoteTable, and OVSDB::VrfOvsdbObject.
Definition at line 63 of file ovsdb_object.h.
|
inline |
Definition at line 76 of file ovsdb_object.h.
|
protectedvirtual |
Reimplemented from KSyncDBObject.
Definition at line 170 of file ovsdb_object.cc.
void OvsdbDBObject::DBWalkDone | ( | DBTableBase * | partition | ) |
Definition at line 134 of file ovsdb_object.cc.
bool OvsdbDBObject::DBWalkNotify | ( | DBTablePartBase * | partition, |
DBEntryBase * | entry | ||
) |
void OvsdbDBObject::DeleteTable | ( | void | ) |
|
inlineprotectedvirtual |
Reimplemented in OVSDB::HaStaleDevVnTable, and OVSDB::HaStaleVnTable.
Definition at line 81 of file ovsdb_object.h.
|
private |
|
virtual |
Reimplemented from KSyncObject.
Reimplemented in OVSDB::HaStaleDevVnTable, OVSDB::UnicastMacRemoteTable, OVSDB::HaStaleL2RouteTable, and OVSDB::HaStaleVnTable.
Definition at line 155 of file ovsdb_object.cc.
void OvsdbDBObject::NotifyAddOvsdb | ( | OvsdbDBEntry * | key, |
struct ovsdb_idl_row * | row | ||
) |
void OvsdbDBObject::NotifyDeleteOvsdb | ( | OvsdbDBEntry * | key, |
struct ovsdb_idl_row * | row | ||
) |
|
virtual |
Reimplemented in OVSDB::HaStaleDevVnTable, OVSDB::LogicalSwitchTable, OVSDB::UnicastMacRemoteTable, OVSDB::HaStaleL2RouteTable, OVSDB::VrfOvsdbObject, OVSDB::HaStaleVnTable, OVSDB::VlanPortBindingTable, OVSDB::VMInterfaceKSyncObject, and OVSDB::VnOvsdbObject.
Definition at line 164 of file ovsdb_object.cc.
|
virtual |
Reimplemented in OVSDB::UnicastMacRemoteTable.
Definition at line 76 of file ovsdb_object.cc.
void OvsdbDBObject::OvsdbStartResyncWalk | ( | ) |
|
friend |
Definition at line 86 of file ovsdb_object.h.
|
protected |
Definition at line 83 of file ovsdb_object.h.
|
private |
Definition at line 88 of file ovsdb_object.h.
|
static |
Definition at line 45 of file ovsdb_object.h.
|
static |
Definition at line 47 of file ovsdb_object.h.
|
static |
Definition at line 46 of file ovsdb_object.h.
|
private |
Definition at line 87 of file ovsdb_object.h.